/**
定义一个工具类,可以对数组进行寻找最大最小值和排序运算。
@author 小庞
@version 1.1
*/
public class ArrayTools
{
/**
获取数组里最大值的方法
@param arr 传入一个整型数组
@return 返回一个int类型的数
*/
public static int getMax(int[] arr)
{
int max=0;
for(int i=0;i<arr.length;i++)
{
if (arr[max]<arr[i])
{
max=i;
}
}
return arr[max];
}
/**
获取数组里最小值的方法
@param a 传入一个整型数组
@return 返回一个int类型的数
*/
public static int getMin(int[] a)
{
int min =0;
for (int i=0;i<a.length ;i++ )
{
if (a[min]>a[i])
{
min=i;
}
}
return a[min];
}
/**
对一个无序的数组进行选择排序
@param a 传入一个整型数组
*/
public static void selectSort(int[] a)
{
for (int i=0;i<a.length-1 ;i++ )
{
for (int j=i+1;j<a.length ;j++ )
{
if (a[i]>a[j])
{
//swap(a,a[i],a[j]);//错误,应传入索引而不是需要交换的值
swap(a,i,j);
//int temp=a[i];
//a[i]=a[j];
//a[j]=temp;
}
}
}
}
/**
对一个无序的数组进行冒泡排序
@param a 传入一个整型数组
*/
public static void bubbleSort(int[] a)
{
for (int i=0;i<a.length-1 ;i++ )
{
for (int j=i;j<a.length-1-i ;j++ )
{
if (a[j]>a[j+1])
{
swap(a,j,j+1);
}
}
}
}
/**
将数组中下标为a,b的数进行交换
@param1 arr 传入一个数组
@param1 a 传入一个int类型的数
@param1 b 传入一个int类型的数
*/
//此方法用private修饰,不对外暴露
private static void swap(int[] arr,int a,int b)//注意:在这里a,b作为索引,调用swap方法的时候也需要传入索引
{
int temp=arr[a];
arr[a]=arr[b];
arr[b]=temp;
}
/**
对数组进行遍历
@param a 传入一个数组
*/
public static void put(int[] a)
{
for(int i=0;i<a.length;i++)
{
System.out.println(a[i]);
}
}
}
//生成API文档的命令:
//javadoc -d helpdoc -author -version ArrayTools.java