美文网首页前端技术讨论
javaScript数据结构和算法--冒泡排序

javaScript数据结构和算法--冒泡排序

作者: 安然_她 | 来源:发表于2019-05-15 09:23 被阅读0次

    冒泡排序比较任何两个相邻的数,如果第一个数比第二个数大,则交换这两个数,元素向上移动至正确的位置。

    冒泡排序的算法实现:

    function BubbleSort() {

        const array = [];

        this.insert = function(item) {

            array.push(item);

        }

        this.toString = function() {

            return array.join();

        }

        const swap = function(index1, index2) {

            const temp = array[index1];

            array[index1] = array[index2];

            array[index2] = temp;

        }

        //冒泡排序

        this.bubbleSort = function() {

            for(let i=0; i<array.length; i++) {

                for(let j=0; j<array.length-1; j++) {

                    if(array[j] > array[j+1]) {

                        swap(j, j+1);

                    }

                }

            }

        }

        //改进版的冒泡排序

        this.bubbleSort1 = function() {

            for(let i=0; i<array.length; i++) {

                for(let j=0; j<array.length-1-i; j++) {

                    if(array[j] > array[j+1]) {

                        swap(j, j+1);

                    }

                }

            }

        }

    }

    var arr = new BubbleSort();

    arr.insert(3);

    arr.insert(13);

    arr.insert(32);

    arr.insert(23);

    arr.insert(11);

    arr.insert(8);

    arr.insert(33);

    arr.insert(28);

    console.log(arr.toString()); // 3,13,32,23,11,8,33,28

    arr.bubbleSort();

    console.log(arr.toString()); // 3,8,11,13,23,28,32,33

    相关文章

      网友评论

        本文标题:javaScript数据结构和算法--冒泡排序

        本文链接:https://www.haomeiwen.com/subject/hreuaqtx.html