zoukankan      html  css  js  c++  java
  • 数组排序

    1、冒泡排序
     1 function bubbleSort(arr) {
     2   var len = arr.length;
     3   for (var i = 0; i < len; i++) {
     4     for (var j = 0; j < len - 1 - i; j++) {
     5       if (arr[j] > arr[j+1]) { //相邻元素两两对比
     6         var temp = arr[j+1]; //元素交换
     7         arr[j+1] = arr[j];
     8         arr[j] = temp;
     9       }
    10     }
    11   }
    12   return arr;
    13 }
    14 var arr=[24,32,75,22,65,34,25,97,56,45,33,12];
    15 console.log(bubbleSort(arr));//[12, 22, 24, 25, 32, 33, 34, 45, 56, 65, 75, 97];
     1 function bubbleSort2(arr) {
     2   console.time('改进后冒泡排序耗时');
     3   var i = arr.length-1; //初始时,最后位置保持不变  
     4   while ( i> 0) {
     5     var pos= 0; //每趟开始时,无记录交换
     6     for (var j= 0; j< i; j++){
     7       if (arr[j]> arr[j+1]) {
     8         pos= j; //记录交换的位置
     9         var temp = arr[j];
    10                        arr[j]=arr[j+1];
    11                        arr[j+1]=temp;
    12       }
    13     }
    14     i= pos; //为下一趟排序作准备
    15   }
    16   console.timeEnd('改进后冒泡排序耗时');
    17   return arr;
    18 }
    19 var arr=[24,32,75,22,65,34,25,97,56,45,33,12];
    20 console.log(bubbleSort2(arr));//[12, 22, 24, 25, 32, 33, 34, 45, 56, 65, 75, 97]
    进阶版冒泡排序
    
    
    
    
    
  • 相关阅读:
    BZOJ 1218: [HNOI2003]激光炸弹( 前缀和 + 枚举 )
    BZOJ 1878: [SDOI2009]HH的项链( BIT )
    BZOJ 1054: [HAOI2008]移动玩具( BFS )
    js-提取行间元素
    vim的三种模式的基本操作
    Linux的高级命令
    Linux的进阶命令
    Linux的基本命令
    Linux常见的文件目录结构
    js-操作属性
  • 原文地址:https://www.cnblogs.com/wuaidongfang/p/9934458.html
Copyright © 2011-2022 走看看