第 87 期(算法-排序):经典排序算法之选择排序
wingmeng opened this issue · comments
选择排序
选择排序(Selection sort)是一种简单直观的排序算法。
- 原理: 从待排序的元素中选出最大或最小的元素放到已排序好的元素后面。
- 复杂度: 时间复杂度:O(n²),空间复杂度:O(1)
- 稳定性: 选择排序是不稳定的排序算法。
function selectionSort(arr) {
var len = arr.length;
var minIndex, temp;
for (var i = 0; i < len - 1; i++) {
minIndex = i;
for (var j = i + 1; j < len; j++) {
if (arr[j] < arr[minIndex]) { // 寻找最小的数
minIndex = j; // 将最小数的索引保存
}
}
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
return arr;
}