基本思路

  1. 遍历数组选择其中一个元素
  2. 再遍历与其之后最小的元素进行交换

时间复杂度

  1. var arr = [3, 7, 2, 9, 4, 8, 1, 5, 6];
  2. let selectSort = (arr) => {
  3. for(let i = 0; i < arr.length-1; i++) {
  4. let curMinIndex = i;
  5. for(let j = i; j< arr.length; j++) {
  6. if(arr[j] < arr[curMinIndex]) {
  7. curMinIndex = j;
  8. }
  9. }
  10. let temp = arr[i];
  11. arr[i] = arr[curMinIndex];
  12. arr[curMinIndex] = temp;
  13. }
  14. return arr;
  15. }
  16. console.log(selectSort(arr));