[置顶] 选择排序法的实例分析

由小到大排序

int a[]={63,4,24,1,3,15};
int i,j,k,t;
//由小到大选择排序法
for(i=0;i<a.length-1;i++)
{k=0;
for(j=1;j<a.length-i;j++)
{
if(a[k]<a[j])k=j;
if(k!=a.length-i-1){t=a[k];a[k]=a[a.length-i-1];a[a.length-1-i]=t;}
}
}
System.out.println(Arrays.toString(a));

第一趟:【15 4 24 1 3】63

第二趟:【15 4 3 1 】24 63

第三趟:【1 4 3】15 24 63

第四趟:【1 3】4 15 24 63

第五趟:【1】3 4 15 24 63


由大到小排序

int a[]={63,4,24,1,3,15};
int i,j,k,t;
//由小到大选择排序法
for(i=0;i<a.length-1;i++)
{k=i;
for(j=i+1;j<a.length-i;j++)
{
if(a[k]<a[j])k=j;//有点迭代的方式
if(k!=a.length-i-1){t=a[k];a[k]=a[a.length-i-1];a[a.length-1-i]=t;}
}
}
System.out.println(Arrays.toString(a));

第一趟:63【4 24 1 3 15】

第二趟:63 24【4 1 3 15】

第三趟:63 2415【1 3 4】 

第四趟:63 24 15 4【3 1】

第五趟:63 24 15 4 3【1】


读者慢慢领悟。。。。。。。。。。。。。。解疑QQ841937136

你可能感兴趣的:(java,排序,代码,数组,实例)