JavaScript 冒泡排序

178 阅读1分钟

概念:

冒泡排序(Bubble Sort)是排序算法里面比较简单的一个排序。它重复地走访要排序的数列,一次比较两个数据元素,如果顺序不对则进行交换,并一直重复这样的走访操作,直到没有要交换的数据元素为止。

代码示例:

        var arr = [3,5,15,26,2,27,4,19,50,36,47];
        //外层循环i控制循环轮数
        for (var i=0; i<arr.length-1;i++) {
        //里层循环控制每轮比较的次数
            for (var j=0; j<arr.length-i;j++) {
            //如果前一个数大于后一个数,则交换位置
                if(arr[j]>arr[j+1]) {
                    var temp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = temp;
                }
            }
        }
        console.log(arr)//{2, 3, 4, 5, 15, 19, 26, 27, 36, 47, 50}

x3.gif

总结:

冒泡排序是稳定的,因为在比较过程中,只有后一个元素比前面的元素大时才会对它们交换位置并向上冒出,对于同样大小的元素,是不需要交换位置的,所以对于同样大小的元素来说,相对位置是不会改变的。