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

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

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

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

选择排序的算法实现:

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

相关文章

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

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

  • C语言:关于数据的几种排序算法

    数据结构的排序算法有很多种。其中,快速排序、希尔排序、堆排序、直接选择排序不是稳定的排序算法;基数排序、冒泡排序、...

  • 算法与数据结构路线图

    学习算法与数据结构,深刻理解计算机科学 排序算法:插入、冒泡、选择、希尔、快速、归并、堆排序、计数排序、桶排序、基...

  • 排序算法-堆排序

    参考: Java排序算法(五):堆排序 【算法与数据结构】图说堆排序 【数据结构】排序算法:希尔、归并、快速、堆排...

  • Java数据结构和算法(九)——高级排序

    在Java数据结构和算法(三)——冒泡、选择、插入排序算法中我们介绍了三种简单的排序算法,它们的时间复杂度大O表示...

  • JS实现排序算法

    原文:常见排序算法之JavaScript实现 - 知乎 目录 冒泡排序 选择排序 插入排序 合并排序 快速排序 1...

  • JavaScript数据结构和算法简述——数组

    JavaScript数据结构和算法简述——数组

  • 10分钟看懂10大经典算法(Swift代码实现)

    排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进...

  • 排序算法

    排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中...

  • Python实现十大经典排序算法

    排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进...

网友评论

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

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