本帖最后由 小黑子 于 2014-8-3 17:01 编辑
生成文档失败,如图所示,求大神~~~~:dizzy:
代码如下:
/*
ArrayTool:一个操作数组的工具类,不存在特有的变量,类中的方法也不操作特有的变量,
故可以将类中的方法用static修饰,使方法可以通过类名调用
*/
/**
这是一个可以对数组进行操作的类,包含了获取最值,排序,打印等功能
@author 张三
@version 1.0
*/
public class ArrayTool
{
private ArrayTool(){} //构造函数私有化,使该类不能创建对象,只能通过类名调用。
/**
获取一个整型数组的最大值
@param arr 接收一个int型数组
@return 返回数组最大值
*/
public static int getMax(int[] arr)
{
int max=0;
for(int i=1;i<arr.length;i++)
{
if(arr>arr[max])
{
max=i;
}
}
return arr[max];
}
/**
获取一个整型数组的最小值
@param arr 接收一个int型数组
@return 返回数组最小值
*/
public static int getMin(int[] arr)
{
int min=0;
for(int i=1;i<arr.length;i++)
{
if(arr<arr[min])
min=i;
}
return arr[min];
}
/*
*选择排序
*思想:由小到大,从第一个数开始,依次与之后的每一个数比较,小数置前。每一遍起始位置+1,直到倒数第二个数(-2)
#即每一遍选出一个最(小)值置前
*/
/**
提供int型数组由小到大的选择排序
@param arr 接收一个int型数组
*/
public static void selectSort(int[] arr)
{
for(int i=0;i<arr.length-1;i++)
for(int j=i+1;j<arr.length;j++)
if(arr>arr[j])
swap(arr,i,j);
}
/*
*冒泡排序
*思想:从小到大,从第一个数开始(到倒数第2个数),依次将相临的两个数相比较,大数置后。每一遍结束位置-1
#即每一遍选出一个最(大)值置后
*/
/**
提供int型数组由小到大的选择排序
@param arr 接收一个int型数组
*/
public static void bubbleSort(int[] arr)
{
for(int i=0;i<arr.length-1;i++)
for(int j=0;j<arr.length-i-1;j++)
if(arr[j]>arr[j+1])
swap(arr,j,j+1);
}
/**
实现数组内两个元素位置的互换
@param arr 接收一个int型数组
@param a 要互换元素的位置
@param b 要互换元素的位置
*/
private static void swap(int[] arr,int a,int b)
{
int temp;
temp=arr[a];
arr[a]=arr;
arr=temp;
/*
arr[a]=arr[a]+arr;
arr=arr[a]-arr;
arr[a]=arr[a]=arr;
*/
/*
arr[a]^=arr;
arr^=arr[a];
arr[a]^=arr;
*/
}
/**
打印数组,形式:element1,element2,...
@param arr 接收一个int型数组
*/
public static void printArray(int[] arr)
{
for(int i=0;i<arr.length;i++)
{
if(i != arr.length-1)
System.out.print(arr+",");
else
System.out.println(arr);
}
}
}
|
|