选择排序
选择排序特点:每一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。时间复杂度为
选择排序代码
public static void selectionSort(int[] array, int len){
int minValueIndex;
for (int i = 0; i < len-1; i++){
minValueIndex = i; //traverse from i find the index of min value
for (int j = i+1; j < len; j++){
if (array[minValueIndex] > array[j]){
minValueIndex = j;
}
}
if (minValueIndex != i){ //swap
int temp = array[minValueIndex];
array[minValueIndex] = array[i];
array[i] = temp;
}
}
}
测试样例
- 2 1 3 5 4
第1次遍历之后数组为:1 2 3 5 4
第2次遍历之后数组为:1 2 3 5 4
第3次遍历之后数组为:1 2 3 5 4
第4次遍历之后数组为:1 2 3 4 5
----- end -----