作家
登录

JavaScript中常见排序算法详解

作者: 来源: 2017-11-22 16:00:13 阅读 我要评论

  •  
  • function buildMaxHeap(arr) {   //建立大年夜顶堆 
  •  
  •     len = arr.length; 
  •  
  •     for (var i = Math.floor(len/2); i >= 0; i--) { 
  •  
  •         heapify(arr, i); 
  •  
  •     } 
  • }  
  • function heapify(arr, i) {     //堆调剂 
  •  
  •     var left = 2 * i + 1, 
  •  
  •         right = 2 * i + 2, 
  •  
  •         largest = i; 
  •   
  •  
  •     if (left < len && arr[left] > arr[largest]) { 
  •  
  •         largest = left
  •  
  •     }  
  •  
  •     if (right < len && arr[right] > arr[largest]) { 
  •  
  •         largest = right
  •  
  •     }  
  •  
  •     if (largest != i) { 
  •  
  •         swap(arr, i, largest); 
  •  
  •         heapify(arr, largest); 
  •     } 
  • }  
  •  
  • function swap(arr, i, j) { 
  •  
  •     var temp = arr[i]; 
  •  
  •     arr[i] = arr[j]; 
  •  
  •     arr[j] = temp
  •  
  • }  
  •  
  • function heapSort(arr) { 
  •  
  •     buildMaxHeap(arr);  
  •  
  •     for (var i = arr.length-1; i > 0; i--) { 
  •  
  •         swap(arr, 0, i); 
  •  
  •         len--; 
  •  
  •         heapify(arr, 0); 
  •     } 

  •   推荐阅读

      为啥你电脑越来越卡 别人却能战五年?

    对于这种的办法:大年夜网页点击下载时要看看下载的文件名,绿色版的软件一般是目标软件的拼音或者英订婚名,多半是紧缩包(就算是安装版也要打包一下的),所以如不雅下载文件名是无序字符串,以及是exe文件,十有八九>>>详细阅读


    本文标题:JavaScript中常见排序算法详解

    地址:http://www.17bianji.com/lsqh/39153.html

  • 关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)