- 简单选择排序
假设排序表为L[1...n] 第i趟排序即从L[i...n]中选择关键字最小的元素与L[i]进行交换, 每一趟排序可以确定一个元素的最终位置
这样, 经过n-1趟排序就可以使得整个排序表有序- 空间: O(1)
- 时间: O(m^2)
- 稳定性: 不稳定
- 元素的比较次数 n(n-1)/2
function SimpleSort(arr) {
let i, j, len = arr.length,
temp;
let min; // 记录当前遍历过程中最小的元素的索引
for (i = 0; i < len - 1; i++) {
min = i;
for (j = i + 1; j < len; j++) {
if (arr[j] < a[min]) {
min = j;
}
}
// 找到当前遍历中最小的元素的索引为i
if (min != i) { // 保证当前元素不为当前最小元素的时候才进行交换
temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
}
}
var a = [5, 2, 4, 3, 8, 6, 9, 0, 1, 7];
SimpleSort(a);
console.log(a);
网友评论