选择排序是这样实现的:
设数组内存放了n个待排数字,数组下标从1开始,到n结束。
i=1
从数组的第i个元素开始到第n个元素,寻找最小的元素。
将上一步找到的最小元素和第i位元素交换。
如果i=n-1算法结束,否则回到第3步
设数组内存放了n个待排数字,数组下标从1开始,到n结束。
i=1
从数组的第i个元素开始到第n个元素,寻找最小的元素。
将上一步找到的最小元素和第i位元素交换。
如果i=n-1算法结束,否则回到第3步
public static void selectSort(int array[]){
for(int i=0; i<array.length; i++){
int index = i;
int max = array[i] ;
//退出循环时,index表示最大的数的位置
for(int j=i+1; j<array.length; j++){
if(array[j]>max){
index = j;
max = array[j];
}
}
int tmp = array[index];
array[index] = array[i];
array[i] = tmp;
}
}