/*
这是主函数测试工具的代码
*/
class TestDemo
{
public static void main(String[] args)
{
int[] arr={5,6,9,8,7,2};
Tool.setMax(arr);
Tool.setMin(arr);
System.out.println(Tool.setMax(arr));
System.out.println(Tool.setMin(arr));
Tool.bubbleSort(arr);
Tool.arrPrint(arr);
Tool.selectSort(arr);
Tool.arrPrint(arr);
}
}
/*
工具类,一笔一笔敲出来的,从58个错误到0个错误,耗时1小时,郁闷,知道这个工具类的不用看了,直接画内存图,都是静态方法怎么画啊,堆内存什么都没有感觉不太现实啊,向各位马友求助
*/
/**
一个Tool类,存在可以对给定数组执行取最大值,最小值,选择排序,冒泡排序,打印数组成员的功能。
@author 张三
@version 1.7
*/
public class Tool
{
/**
无参构造函数
*/
private Tool(){};
/**
找到数组中的最大值
@param arr 接受一个int类型的数组
@return 返回一个数组的最大值
*/
public static int setMax(int[] arr)
{
int max=0;
for (int x=1;x<arr.length;x++)
{
if (arr[max]<arr[x])
{
max=x;
}
}
return arr[max];
}
/**
找到数组中的最小值
@param arr 接受一个int类型的数组
@return 返回一个数组的最小值
*/
public static int setMin(int[] arr)
{
int min=0;
for (int x=1;x<arr.length;x++)
{
if (arr[min]>arr[x])
{
min=x;
}
}
return arr[min];
}
/**
给int数组进行选择排序
@param arr 接受一个int类型的数组
*/
public static void selectSort(int[] arr)
{
for (int x=0;x<arr.length-1 ; x++)
{
for(int y=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])//从小到大排序
{
swap(arr,x,y);
}
}
}
}
/**
给int数组进行冒泡排序
@param arr 接受一个int类型的数组
*/
public static void bubbleSort(int[] arr)
{
for (int x=0 ; x< arr.length-1 ; x++)
{
for(int y=0 ; y< arr.length-x-1 ; y++)
{
if(arr[y] > arr[y+1])//从小到大排序
{
swap(arr,y,y+1);
}
}
}
}
/**
交换两个数据的值
@param arr 接受一个int类型的数组
@param x 要替换的位置
@param y 要替换的位置
*/
private static void swap(int[] arr,int x ,int y )
{
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
/**
打印数组中成员的值
@param arr 接受一个int类型的数组
*/
public static void arrPrint(int[] arr)
{
System.out.print("[");
for (int x=0;x<arr.length ;x++ )
{
if(x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.println(arr[x]+"]");
}
}
}
|
|