选择排序分为直接选择排序和堆排序两种。
直接选择排序

如图,选择排序原理实际上就是每次找出极值(最大值、最小值)完成排序。
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;}
函数说明:首先遍历 Arrary,判断当前元素是否为极值(找出极值索引),然后两者交换位置,遍历完成数组即可得到顺序的新数组。
