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

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

冒泡排序的算法实现:

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

            for(let j=0; j

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

                    swap(j, j+1);

                }

            }

        }

    }

    //改进版的冒泡排序

    this.bubbleSort1 = function() {

        for(let i=0; i

            for(let j=0; 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数据结构和算法--冒泡排序)