JavaScript 冒泡排序法

Posted 乱舞春秋__

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 冒泡排序法相关的知识,希望对你有一定的参考价值。

核心思想:

1.定义一个临时变量,用于数组项之间值的交换

2.将数组的前一项与其后一项进行比较,若满足条件,则进行交换

3.进行循环,直至排序完成

函数封装如下:

(1)从小到大排序

        function bubbleSort (array) {
            var temp;
            for (var i = 0; i < array.length - 1; i++) {
                for (var j = 0; j < array.length - 1 - i; j++) {
                    if (array[j] > array[j + 1]) {
                        temp = array[j + 1];
                        array[j + 1] = array[j];
                        array[j] = temp;
                    }
                }
            }
        }

(2)从大到小排序

        function bubbleSort (array) {
            var temp;
            for (var i = 0; i < array.length - 1; i++) {
                for (var j = 0; j < array.length - 1 - i; j++) {
                    if (array[j] < array[j + 1]) {
                        temp = array[j + 1];
                        array[j + 1] = array[j];
                        array[j] = temp;
                    }
                }
            }
        }

示例:

(1)将一个数组从大到小排序

        var arr = [1,4,3,5,6,3,2,6,7,3,5,6,8,8,9];
        function bubbleSort (array) {
            var temp;
            for (var i = 0; i < array.length - 1; i++) {
                for (var j = 0; j < array.length - 1 - i; j++) {
                    if (array[j] < array[j + 1]) {
                        temp = array[j + 1];
                        array[j + 1] = array[j];
                        array[j] = temp;
                    }
                }
            }
        }
        bubbleSort(arr);
        console.log(arr);

控制台输出:

原数组已按从大到小的顺序排列。

(2)将一个数组从小到大排序

        var arr = [1,4,3,5,6,3,2,6,7,3,5,6,8,8,9];
        function bubbleSort (array) {
            var temp;
            for (var i = 0; i < array.length - 1; i++) {
                for (var j = 0; j < array.length - 1 - i; j++) {
                    if (array[j] > array[j + 1]) {
                        temp = array[j + 1];
                        array[j + 1] = array[j];
                        array[j] = temp;
                    }
                }
            }
        }
        bubbleSort(arr);
        console.log(arr);

控制台输出:

原数组已按从小到大的顺序排列。

以上是关于JavaScript 冒泡排序法的主要内容,如果未能解决你的问题,请参考以下文章

js冒泡排序法——选择排序(other)——计数排序(桶排序)——快速排序——插入排序-更新

JavaScript冒泡法排序

javascript中的冒泡排序法

JavaScript 冒泡排序法

JavaScript 语句 数组与冒泡排序法

C语言冒泡排序法代码