zoukankan      html  css  js  c++  java
  • 冒泡排序之基础优化

    • 普通版本
    function doubleSort(arr) {
      let len = arr.length - 1;
      for(let i=0; i<arr.length; i++) {   // 第一层循环遍历总次数
        for(let j=0; j<len-i; j++) {    // 第二层循环 从左往右 j 与 j + 1 数值比较 
          if(arr[j] > arr[j+1]) {
             let temp = arr[j];
            arr[j] = arr[j+1]
            arr[j+1] = temp;
          }
        }
      }
      return arr;
    }
    • 优化版本(一)
    function doubleSort(arr) {
        let len = arr.length - 1;
        let isExchange;            // 增加标志位字段,判断后面对比是否进行数值交换,如果没有交换,代表是有序,否则代表无序
        for(let i=0; i<arr.length; i++) {
            isExchange = true;       // 每次循环开始,都是为 true, 交换之后才置为 false
            for(let j=0; j<len; j++) {
                if(arr[j] > arr[j+1]) {
                    let temp = arr[j];
                    arr[j] = arr[j+1]
                    arr[j+1] = temp;
                    isExchange = false;
                }
            }
            if(isExchange) {    // 如果有序后面就不要循环对比了,直接跳出
                break;
            };
        }
        return arr;
    }
    • 优化版本(二)
    function doubleSort(arr) {
        let len = arr.length - 1;
        let isExchange,sortLine;    //  记录最后一次交换的位置,减少下次内部循环的次数
        for(let i=0; i<arr.length; i++) {
            isExchange = true;
            for(let j=0; j<len; j++) {
                if(arr[j] > arr[j+1]) {
                    let temp = arr[j];
                    arr[j] = arr[j+1]
                    arr[j+1] = temp;
                    isExchange = false;
                    sortLine = j;
                }
            }
            len = sortLine;
            if(isExchange) {
                break;
            };
        }
        return arr;
    }

     高级版本优化 之 鸡尾酒排序,期待 !

  • 相关阅读:
    捕获组
    re.S解析
    Python eval 函数妙用
    Python tips: 什么是*args和**kwargs?
    HBase 的安装与配置
    HBase 基本操作
    HBase中的备份和故障恢复方法
    Hbase写数据,存数据,读数据的详细过程
    HBase shell
    HDFS的快照原理和Hbase基于快照的表修复
  • 原文地址:https://www.cnblogs.com/strivegys/p/13255950.html
Copyright © 2011-2022 走看看