class ArrayToolDemo
{
/**
*/
public static void main(String[] args)
{
int[] arr = {3,2,5,1,6,8,7,4};//定义一个数组
int max = ArrayTool.getMax(arr);//将获取的数组的最大值赋给max。
int min = ArrayTool.getMin(arr);//将获取的数组的最小值赋给min。
System.out.println(max);
System.out.println(min);
ArrayTool.printArr(arr);//数组排序前
//ArrayTool.selectSort(arr);选择排序
//ArrayTool.printArr(arr);数组排序后
ArrayTool.MaoSort(arr);//冒泡排序
ArrayTool.printArr(arr);//打印数组排序后
}
}
//制作API文档
/**
这个是一个可以对数组进行排序、获取最大值、最小值、打印数组的功能。
@author 唐龙伟
@version 1.1
*/
public class ArrayTool
{
/**
将一个数组打印出来
@param arr 接收一个数组。
*/
public static void printArr(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.print(arr[x]);
}
}
System.out.println("]");
}
/**
获取一个数组的最大值
@param arr 接收一个数组。
@return 返回一个最大的数
*/
public static int getMax(int[] arr)//定义一个最大值的功能,接收一个数组类型的参数。
{
int max = 0;
for (int x=0;x<arr.length ;x++ )
{
if(arr[x]>max)
max = arr[x];
}
return max;
}
/**
获取一个数组的最小值
@param arr 接收一个数组。
@return 返回一个最小的数
*/
public static int getMin(int[] arr)//定义一个选择获取最小值的功能,接收一个数组类型的参数。
{
int min = 0;
for (int x=0;x<arr.length ;x++ )
{
if(arr[x]<arr[min])
min = arr[x];
}
return min;
}
/**
获取一个数组的选择排序
@param arr 接收一个数组。
*/
public static void selectSort(int[] arr)//定义一个选择排序的功能,接收一个数组类型的参数。
{
for (int x=0;x<arr.length ;x++ )
{
for (int y=0;y<arr.length ;y++ )
{ int temp=0;//定义临时变量-可作为角标0来进行遍历。
if (arr[x]>arr[y])
{
temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
}
/**
获取一个数组的冒泡排序。
@param arr 接收一个数组。
*/
public static void MaoSort(int[] arr)//定义一个冒泡排序的功能。传入一个数组类型的值。
{
//冒泡排序
for (int x=0;x<arr.length-1 ;x++ )
{
for (int y=0;y<arr.length-x-1 ;y++ )//循环 遍历数组中的元毒。
{
int temp =0;//定义一个临时存储大值得数字。
if(arr[y]>arr[y+1])//初始化在arr[y]属于第一个值,跟 arr[y+1]相邻两个元素比较。如果第一个元素大于第二个元素、
{
temp = arr[y];//就把大的那个元素复制给临时存储的变量。
arr[y] = arr[y+1];//然后再把相邻比较后较小的数给到arr[y]就是初始化的那个角标元素。
arr[y+1] = temp;//比完后把最大的数给回相邻的那个角标。
}
}
}
}
}