javaScript数据结构和算法--选择排序

选择排序是一种比较原址的比较排序算法。先找到数据结构中最小值并放在第一位,接着找到第二小的值放在第二位

选择排序的算法实现:

function SelectSort() {

    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.selectSort = function() {

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

            let indexMin = i

            for(let j=i; j

                if(array[indexMin] > array[j]) {

                    indexMin = j;

                }

            }

            if(i !== indexMin) {

                swap(i, indexMin);

            }

        }

    }

}

var arr = new SelectSort();

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.selectSort();

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

你可能感兴趣的:(javaScript数据结构和算法--选择排序)