排序-选择排序
基本思想:在待排序子表中找出最大(小)元素, 并将该元素放在子表的最前(后)面。
平均时间:O(n2)
最好情况:O(n2)
最坏情况:O(n2)
辅助空间:O(1)
稳定性:不稳定
适用场景:n比较小时
java实现:
1 public static void selectSort(int[] list) { 2 3 for (int i = 0; i < list.length; i++) { 4 int min = list[i]; 5 int minIndex = i; 6 for (int j = i + 1; j < list.length; j++) { 7 if (list[j] < min) { 8 min = list[j]; 9 minIndex = j; 10 } 11 } 12 if (i != minIndex) { 13 list[minIndex] = list[i]; 14 list[i] = min; 15 } 16 } 17 }