前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >堆排序

堆排序

作者头像
前朝楚水
发布2018-04-02 15:30:05
4920
发布2018-04-02 15:30:05
举报
文章被收录于专栏:互联网杂技
代码语言:javascript
复制
function sort_heap(arr){
      var temp;
      var n = arr.length;
      for(var i = parseInt(n/2-1);i>=0;i--){
          Adjust(arr, i, n);  
      }        
      for(var i = n-1;i > 0;i--){
          temp = arr[0];                                //交换根节点与最后一个叶子节点,要调整的范围减1
          arr[0] = arr[i];
          arr[i] = temp;
          Adjust(arr, 0, i);                          //不断减小长度、 交换、调整
      }  
      return arr;
  }
  function Adjust(arr,i,n){    
      var j = 2*i+1;                                
      var temp = arr[i];                                
      while(j<n){                                        
          if(j<n-1 && arr[j]<arr[j+1]){
              j++; 
          }
          if(temp >= arr[j]){
             break; 
          }
          arr[parseInt((j-1)/2)] = arr[j];              
          j = j*2+1;                                  
      }
      arr[parseInt((j-1)/2)] = temp;                                
  }
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 交互设计前端开发与后端程序设计 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档