zoukankan      html  css  js  c++  java
  • 06-插入排序

    插入排序:

    插入排序的原理是通过构建有序序列,对于未排序的数据,在已排序序列中从后向前扫描,找到相应位置并插入。与我们玩纸牌去排牌一样。

    var arr = [5, 100, 25, 36, 42, 4, 2, 7, 389, 12, 8];
    
    function insertSort(arr) {
        let len = arr.length;
        for (var i = 1; i < len; i++) {
            let cur = arr[i];
            let j = i - 1; //第一位
            // 前一项>当前项的时候
            while (j >= 0 && arr[j] > cur) {
                // 就一直往前找,也叫扫描前面的数值
                arr[j + 1] = arr[j]; //把前一项赋值给后一项(arr[j+1] 也就是 arr[i])也叫赋值或者说换位置
                j--;
            }
            // 直到打破while循环的条件语句,arr[j+1]就是当前for循环中的arr[i]所在的位置
            // 然后for循环继续执行i++,继续走while判断,重复这个过程
            arr[j + 1] = cur;
        }
        return arr;
    }
    let res = insertSort(arr);
    console.log(res);
  • 相关阅读:
    Django之form组件
    Http协议
    用户认证系统 django.contrib.auth模块
    自己关于Django的一些实践
    form标签
    jquery 遍历find()与children()的区别
    存储过程
    ASP.NET优化
    TRUNCATE与 DELETE
    视图的作用
  • 原文地址:https://www.cnblogs.com/haoqiyouyu/p/14901803.html
Copyright © 2011-2022 走看看