国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript數組排序匯總

2019-11-20 12:05:05
字體:
來源:轉載
供稿:網友

javascript數組排序匯總

//排序算法  window.onload = function(){    var array = [0,1,2,44,4,          324,5,65,6,6,          34,4,5,6,2,          43,5,6,62,43,          5,1,4,51,56,          76,7,7,2,1,          45,4,6,7,8];    //var array = [4,2,5,1,0,3];    console.log('原始數組');    console.log(array);    array = sorting.shellSort(array);    // alert(array);    console.log('排序后的數組')    console.log(array);  }     var sorting = {    //利用sort方法進行排序    systemSort: function(arr){      return arr.sort(function(a,b){        return a-b;      });    },       //冒泡排序    bubbleSort: function(arr){      var len=arr.length, tmp;      for(var i=0;i<len-1;i++){        for(var j=0;j<len-1-i;j++){          if(arr[j]>arr[j+1]){            tmp = arr[j];            arr[j] = arr[j+1];            arr[j+1] = tmp;          }        }      }      return arr;    },       //快速排序    quickSort: function(arr){      var low=0, high=arr.length-1;      sort(low,high);      function sort(low, high){        if(low<high){          var mid = (function(low, high){            var tmp = arr[low];            while(low<high){              while(low<high&&arr[high]>=tmp){                high--;              }              arr[low] = arr[high];              while(low<high&&arr[low]<=tmp){                low++;              }              arr[high] = arr[low];            }            arr[low] = tmp;            return low;          })(low, high);          sort(low, mid-1);          sort(mid+1,high);        }      }      return arr;    },       //插入排序    insertSort: function(arr){      var len = arr.length;      for(var i=1;i<len;i++){        var tmp = arr[i];        for(var j=i-1;j>=0;j--){          if(tmp<arr[j]){            arr[j+1] = arr[j];          }else{            arr[j+1] = tmp;            break;          }        }      }      return arr;    },       //希爾排序    shellSort: function(arr){      var h = 1;      while(h<=arr.length/3){        h = h*3+1; //O(n^(3/2))by Knuth,1973      }      for( ;h>=1;h=Math.floor(h/3)){        for(var k=0;k<h;k++){          for(var i=h+k;i<arr.length;i+=h){            for(var j=i;j>=h&&arr[j]<arr[j-h];j-=h){              var tmp = arr[j];              arr[j] = arr[j-h];              arr[j-h] = tmp;            }          }        }      }      return arr;    }  }

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 封丘县| 海原县| 托克逊县| 通河县| 定安县| 连州市| 梅河口市| 博湖县| 新绛县| 绍兴县| 红原县| 镇安县| 腾冲县| 邢台市| 渭南市| 堆龙德庆县| 南部县| 思茅市| 普安县| 贵定县| 光山县| 曲周县| 黎川县| 关岭| 井冈山市| 昭觉县| 西乡县| 沧源| 泽州县| 东海县| 五大连池市| 高雄县| 巴南区| 宜都市| 宁都县| 石屏县| 苏州市| 东平县| 雷波县| 新津县| 洛阳市|