算法笔记系列:选择排序
选择排序
实现原理:首次从待排序的数据元素中筛选出最小(或最大)的一个元素,存放在序列的起始位置,然后再继续从剩余的未排序元素中寻找到最小(大)元素,并排到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
function selectionSort(arr) {
for (var i = 0, len = arr.length; i < len; i++) {
var currMinIndex = i;
for (var j = i; j < len; j++) {
if (arr[j] < arr[currMinIndex]) {
currMinIndex = j;
}
}
swap(arr, i, currMinIndex);
}
}
function swap(arr, i, j) {
var t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}