zoukankan      html  css  js  c++  java
  • 归并排序法

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4   <meta charset="utf-8">
     5   <meta name="viewport" content="width=device-width">
     6   <title>归并排序法</title>
     7 </head>
     8 <body>
     9   归并排序是一种分治算法,其思想是将原始数组分割成较小的数组,直到每个小数组只有一个位置,接着将小数组归并成较大数组,知道最后只有一个排序完毕的大数组。
    10 </body>
    11 </html>
     1 var array=[32,12,45,2,57,1,35,7,9,23,32];
     2 
     3 function mergeRec(array){
     4   
     5   var length=array.length;
     6   if(length==1)
     7     return array;
     8   var mid = Math.floor(length/2);
     9   var left = array.slice(0,mid);
    10   var right = array.slice(mid,length);
    11   
    12   return mergeSort(mergeRec(left),mergeRec(right));
    13 }
    14 
    15 function mergeSort(left,right){
    16   var result=[];
    17   do
    18   {
    19     if(left[0]>right[0]){
    20       result.push(right.shift());
    21     }
    22     else{
    23       result.push(left.shift());
    24     }
    25   }
    26   while(left.length>0&& right.length>0);
    27   
    28   return result.concat(left).concat(right);
    29   
    30 }
    31 
    32 var abcd = mergeRec(array);
    33 console.log(abcd);

  • 相关阅读:
    前后端分类状态下SpringSecurity的玩法
    拓展 centos 7
    linux 日志管理
    Linux 内存监控
    Linux 周期任务
    Linux 文件系统
    linux 磁盘管理
    图论 最短路总结
    进阶线段树之乘法操作
    暑假集训Day 10 小烈送菜
  • 原文地址:https://www.cnblogs.com/johnhery/p/9790957.html
Copyright © 2011-2022 走看看