zoukankan      html  css  js  c++  java
  • JavaScript 数组插入元素并排序

    1.插入类排序

    插入类排序的思想是:在一个已排好序的序列区内,对待排序的无序序列中的记录逐个进行处理,每一步都讲待排序的记录和已排好的序列中的记录进行比较,然后有序的插入到该序列中,直到所有待排序的记录全部插入为止。

    (1)直接插入排序(基于顺序查找)

    思想:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。

    第一趟比较前两个数,然后把第二个数按大小插入到有序表中;

    第二趟把第三个数据与前两个数从后向前扫描,把第三个数按大小插入到有序表中;

    依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。

    效率:

    时间复杂度:平均O(n^2),不适合对于数据量比较大的排序应用。

    空间复杂度:O(1)

    稳定性:稳定

    js代码:

     function sort(elements){
            for(var i = 1; i < elements.length; i++){
                if(elements[i] < elements[i-1]){
                    var guard = elements[i];
                    var j = i - 1;
                    elements[i] = elements[j];
                    while(j >= 0 && guard < elements[j]){
                        elements[j+1] = elements[j];
                        j--;
                    }
                    elements[j+1] = guard;
                }
            }
        }
  • 相关阅读:
    tcp笔记
    sublime使用技巧
    mysql笔记
    ubuntu安装mysql
    正则表达式笔记
    网络编程笔记
    swoole安装异步reids
    mysql的时间存储格式
    nginx环境的搭建
    php的闭包函数use的使用
  • 原文地址:https://www.cnblogs.com/luorende/p/8549679.html
Copyright © 2011-2022 走看看