冒泡排序的JavaScript实现

冒泡排序

冒泡排序是排序算法中最基础的一种排序。
其基本思路是:将相邻的两个元素进行比较,顺序相反则进行交换。每次遍历将最大值或者最小值”浮”到序列最右端或者左端。

js代码实现

var bubblesort = function(arr) {
    for(var i = 0;i1;i++){
        var flag = true;
        for(var j = 0;j1 - i;j++){
            if(arr[j+1]1];
                arr[j+1] = tmp;
                flag = false;
             }
        }
        if(flag){
             return arr;
        }
    }
    return arr;
}

程序中flag用来标记该序列是否已经为有序序列,若是则终止最外层循环。
该情况也是冒泡排序的最优情况,其时间复杂度为O(n),其余情况则需要双层遍历,时间复杂度为O(n2)。

因此冒泡排序总的平均时间复杂度为:O(n2)。

冒泡排序是稳定排序

你可能感兴趣的:(数据结构)