选择排序

148 阅读1分钟

选择排序

  • 跟冒泡排序很相似。 不同的是冒泡排序, 每一轮比较大小后就直接做位置交换
  • 选择排序, 是每一轮找到最大,或者最小的那个, 然后做位置交换。

function exChange (arr, a, b) {
    var temp = null;
    temp = arr[a];
    arr[a] = arr[b];
    arr[b] = temp;
}

function sort (arr) {
    for (var j = 0; j < arr.length; j++) {
        var maxIndex = 0 + j;
        for (var i = 0 + j; i < arr.length; i++) {
            if (arr[i] <= arr[maxIndex])
                maxIndex = i;
        }
        exChange(arr, maxIndex, j);
    }
    return arr;
}
let sortArr = [5, 3, 1, 2099, 90999, -1, 6, 4, 9923, 232, 23, 1];
console.log(sort(sortArr));