package 排序;
/**
* 基本思想:将第个数和其后面的所有数进行比较,每一轮比较选出当轮最小的数
* 第一轮比较:array[0]和array[1..n]进行比较,选出第一轮最小的(也是整个数组最小的)
* 第二轮比较:array[1]和array[2..n]进行比较,选出该轮最小的(也是整个数组第二小的)
* 重复以上步骤选出每轮最小的
* @author Administrator
*218
*/
public class 选择排序
{
public static void sort(int[] array)
{
for(int i=0;i<array.length-1;i++)
{
for(int j=i+1;j<array.length;j++)
{
if(array[i]>array[j])
{
array[i]=array[i]+array[j];
array[j]=array[i]-array[j];
array[i]=array[i]-array[j];
}
}
}
}
public static void test(int[] testarray,int testcount)
{
long sum=0,temp;
for(int i=1;i<=testcount;i++)
{
int[] t=testarray.clone();
long begin1=System.currentTimeMillis();
sort(t);
long end1=System.currentTimeMillis();
//System.out.println(Arrays.toString(a));
temp=end1-begin1;
if(i>5) sum+=temp;
//System.out.println("time"+i+":"+temp);
}
System.out.println("选择排序.sort()\taveg:"+(sum/(testcount-5)));
}
}
选择排序
最新推荐文章于 2024-09-12 19:02:20 发布