JS排序算法回顾

2016-11-12  本文已影响0人  冯瑞_FR

冒泡排序:“大者为泡”
相邻交替,时间复杂度O(n^2),空间复杂度O(n)

var BubbleSort = function(array){
    var arrayList = array;
    var a,b,temp;
    var num = arrayList.length;
    for(var i=0;i<num;i++){
        for(var j=i;j<num-1;j++){
            if(arrayList[j] > arrayList[j+1]){
                temp = arrayList[j];
                arrayList[j] = arrayList[j+1];
                arrayList[j+1] = temp;
            }
        }
    }
    return arrayList;
}

插入排序:“一个一个插”。
将元素依次插入到有序列表中去。

var InsertSort = function(arr){
    var a,temp;
    for(var i=1;i<arr.length;i++){
        if(arr[i] < arr[i-1]){
            a = i-1;
            temp = arr[i];
            arr[i] = arr[i-1];
            while(temp < arr[a] && a > 0){
                arr[a+1] = arr[a];
                a--;
            }
            arr[a+1] = temp;
        }
    }
    return arr;
}
上一篇 下一篇

猜你喜欢

热点阅读