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;
                }
            }
        }
  • 相关阅读:
    日总结07
    Flask使用json或jsonify返回响应的数据
    日总结06
    tensorflow 代码流程02
    日总结05
    题解 P1505 [国家集训队]旅游
    数学期望
    常用软件
    HTMLHelper
    DateHelper(辅助类)
  • 原文地址:https://www.cnblogs.com/luorende/p/8549679.html
Copyright © 2011-2022 走看看