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<array.length; 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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容