JS实现选择排序
思路
- 选择数组中的最小值,并将其放到第一位
- 接着寻找第二小的值,放到第二位
- 依次执行n-1轮,选择排序完成
Array.prototype.selectSort = function () {
for (let i = 0; i < this.length - 1; i++) {
let minIndex = i;
for (let j = i; j < this.length; j++) {
if (this[j] < this[minIndex]) {
minIndex = j
}
}
if (i !== minIndex) {
const temp = this[i];
this[i] = this[minIndex];
this[minIndex] = temp;
}
}
}
arr.selectSort()
console.log(arr)
时间复杂度:O(n^2)
空间复杂度:O(1)