排序算法——选择排序

作者: 关玮琳linSir | 来源:发表于2017-02-08 23:36 被阅读68次

选择排序:目测应该是最为基础的排序算法之一,它的中心思想也很简单,就是每次在现有的所有的序列中找到最小的放在序列的一端,然后在剩余的序列中找到最小的放在序列的一端,往复这样的操作就可以了。

选择排序的时间复杂度是O(n^2),是一种基于比较的排序。

/**
 * Created by linSir on 17/2/8.
 */
var list = [10, 3, 2, 6, 7, 5, 9];
function getMin(list, a, b) {
    var min = list[a];
    var xiabiao = a;
    for (var i = a; i < b; i++) {
        if (list[i] < min) {
            xiabiao = i;
            min = list[i];
        }
    }
    return xiabiao;
}

function sort(list) {
    for (var i = 0; i < list.length; i++) {
        var temp;
        var a = getMin(list, i, list.length + 1);
        temp = list[a];
        list[a] = list[i];
        list[i] = temp;
    }
}

sort(list);
console.log(list);

整个算法也很简单,大家应该看一眼代码就能看懂,这里面语言我采用的是nodejs,当然,算法本身才是重点,语言只是一个工具。它输出的结果:

排序过程

相关文章

  • 算法-选择排序

    算 法:选择排序算法时间复杂度: 选择排序算法概述 选择排序伪代码 选择排序实现 选择排序算法概述 排序算法有许...

  • 算法4:插入排序和选择排序算法的比较

    排序算法列表电梯: 选择排序算法:详见 《算法4》2.1 - 选择排序算法(Selection Sort), Py...

  • 图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序

    图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序 图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序

  • PHP常用算法

    基于选择的排序算法 常见的基于选择的排序算法有:冒泡排序、插入排序、选择排序、归并排序和快速排序,我们在选在排序算...

  • 算法and数据结构

    算法 冒泡排序 选择排序 计数排序

  • 基础排序算法总结

    排序算法分为内部排序和外部排序,而我们经常说的基础排序算法,都是内部排序算法。包括冒泡排序,选择排序,插入排序,快...

  • LeetCode大全

    1.常见排序算法: 常见的排序算法:冒泡排序、选择排序、插入排序、归并排序、快速排序、希尔排序、堆排序、计数排序、...

  • 《算法4》2.1 - 插入排序算法(Insertion Sort

    排序算法列表电梯: **选择排序算法:详见 Selection Sort ** 插入排序算法(Insertion ...

  • 排序算法

    排序算法 排序是最基本的算法之一,常见的排序算法有插入排序、希尔排序、选择排序、冒泡排序、堆排序、归并排序及快速排...

  • 面试算法知识梳理(12) - 二叉树算法第二部分

    面试算法代码知识梳理系列 面试算法知识梳理(1) - 排序算法 插入排序 希尔排序 选择排序 冒泡排序 计数排序 ...

网友评论

    本文标题:排序算法——选择排序

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