selectSort(arr: number[]) {
for (let i = 0; i < arr.length-1; i++){
let min = i;
for (let j = i + 1; j < arr.length-1; j++){
if (arr[j] < arr[min]){
min = j
}
}
swap(arr, i, min)
}
}
swap(arr: number[], i: number, j: number) {
let temp = arr[i]
arr[i] = arr[j]
arr[j] = temp
}
思路:
如果你没有任何算法基础,在第一次排序数组时,大概率会这样写,完全的暴力查询,时间N2, 空间为常数。
通俗来讲其步骤就是,从数组开头拿第一个数,与数组后面所有的数进行一一比较,和这些数中最小的那个交换位置, 之后拿数组开头的第二个数,再和后面所有的数做比较。