1. selectSort(arr: number[]) {
  2. for (let i = 0; i < arr.length-1; i++){
  3. let min = i;
  4. for (let j = i + 1; j < arr.length-1; j++){
  5. if (arr[j] < arr[min]){
  6. min = j
  7. }
  8. }
  9. swap(arr, i, min)
  10. }
  11. }
  12. swap(arr: number[], i: number, j: number) {
  13. let temp = arr[i]
  14. arr[i] = arr[j]
  15. arr[j] = temp
  16. }

思路:

如果你没有任何算法基础,在第一次排序数组时,大概率会这样写,完全的暴力查询,时间N2, 空间为常数。
通俗来讲其步骤就是,从数组开头拿第一个数,与数组后面所有的数进行一一比较,和这些数中最小的那个交换位置, 之后拿数组开头的第二个数,再和后面所有的数做比较。