JavaScript 实现内排序算法

版权声明:虽然我很善良,但是原创文章还是问问我再转载哦<( ̄︶ ̄)> https://blog.csdn.net/Vivian_jay/article/details/65635604

一、插入排序

每条新纪录与前面已排序的子序列进行比较,将它插入到子序列中的正确位置。

function insertionSort( arr ) {
    var len = arr.length
    for (var i = 1; i < len; i++) {
        for( var j = i; j > 0; j-- ){
            if( arr[j] < arr[j-1]){
                arr[j] = arr.splice(j-1, 1, arr[j])[0]
            }
        }
    }
}

稳定性:稳定。

时间复杂度:

最差 平均 最佳
O(n^2) O(n^2) O(n)

二、冒泡排序

>

function bubbleSort(arr) {
    var len = arr.length
    for(var i = 0; i < len-1; i++){
        for(var j = len - 1; j > i; j-- ){
            if (arr[i] > arr[j]) {
                arr[i] = arr.splice(j, 1, arr[i])[0]
            }
        }
    }
}

三、选择排序

function selectSort(arr) {
    var len = arr.length
    for(var i = 0; i < len; i++){
        var min = i
        for(var j = len - 1; j > i; j-- ){
            if (arr[min] > arr[j]) {
                min = j
            }
        }
        arr[min] = arr.splice(j, 1, arr[min])[0]
    }
}

猜你喜欢

转载自blog.csdn.net/Vivian_jay/article/details/65635604