算法—冒泡排序(Bubble Sort)

冒泡排序Bubble Sort)从小到大排序

  (1)比较相邻的元素。看成气泡,大的气泡下沉。

  (2)从开始到结尾比较依次两两比较一遍,最后最大的数沉到最底部。

  (3)重复以上操作,依次找出第二大的数、第三大的数...比较次数为(this.length-i 因为沉到底部的就不需要再进行下次操作),直到没有数据比较,完成。

JavaScript实现
var array = [1, 22, 33, 44, 55, 66, 2];
var temp=0;//中间变量
var bubbleSort = function (arr) {
    //过滤条件
    if (arr.length <= 1) {
        return arr;
    }
    //两层遍历,比较相邻两个数据大小,小的在上大的在下,交换位置
    for (var i = 0; i < arr.length; i++) {
        for (var j = 0; j < arr.length - i; j++) {
            if (arr[j] > arr[j + 1]) {
                temp = arr[j + 1];
                arr[j + 1] = arr[j];
                arr[j] =temp;
            }
        }
    }
    return arr;
}
//输出
console.log(bubbleSort(array));

                                                                       算法—冒泡排序(Bubble Sort)_第1张图片

  冒泡排序示意图

你可能感兴趣的:(算法—冒泡排序(Bubble Sort))