通过定义一个index索引变量,array[index]数值直接与数值array[array.length-i]互换,比如:int[]{5, 1, 2 ,8 ,4}数组,第一次比较的时候,i=1; index; array.length-i=4,就是array[index]与最后一个数值互换,第二次比较时候,array.length-i=3,就是array[index]与倒数第二个数值互换。
代码如下:
public class SelectSort{
public void sort(int[]a){
int temp;
int index;//索引变量
for(int i=1;i<a.length;i++){
index=0;
for(int j=1;j<a.length-i;j++){
if(a[j]>a[index]){
index=j;
}
}
temp=a[a.length-i];
a[a.length]=a[index];
a[index]=temp;
}
printArray(a);//输出正序数组
}
}