博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
排序算法@c++描述-堆排序
阅读量:4192 次
发布时间:2019-05-26

本文共 1014 字,大约阅读时间需要 3 分钟。

3.堆排序

#include 
#include
using namespace std;inline int leftChild(int i){ return 2 * i + 1;}template
void percDown(vector
&a, int i, int n){ int child; T tmp; for (tmp = a[i]; leftChild(i) < n; i = child) { child = leftChild(i); if (child != n - 1 && a[child] < a[child + 1]) child++; if (tmp < a[child]) a[i] = a [child]; else break; } a[i] = tmp;}template
void heapSort(vector
&a){ /*build heap*/ for (int i = a.size() / 2 - 1; i >= 0; i--) percDown(a, i, a.size()); /*delete max*/ for (int j = a.size() - 1; j > 0; j--) { swap(a[0], a[j]); percDown(a, 0, j); }}int main(){ vector
test = { 190, 435, 834, 8954, 923, 56, 20 ,1, 934, 5465, 504, 23054, 430}; heapSort(test); for (auto i : test) cout << i << " "; cout << endl; return 0;}
  • 运行结果:
$ ./a.out1 20 56 190 430 435 504 834 923 934 5465 8954 23054

  • 我的个人主页:
  • 我的个人站点博客:
  • 我的CSDN博客:
  • 我的简书:
  • 我的GitHub:

转载地址:http://gnloi.baihongyu.com/

你可能感兴趣的文章
rtlinux
查看>>
OPPO Reno3系列旗舰官宣:骁龙765G+正反双曲面设计
查看>>
一加8系列新机有望亮相CES 2020:全系支持5G网络
查看>>
称对方攀附使用近似商标 “汽车之家”起诉索赔500万
查看>>
三星突然发布Galaxy S10 Lite和Note 10 Lite:有不同也有所同
查看>>
小米10/10 Pro详细规格曝光:120Hz高刷新率屏+66W超级闪充
查看>>
支付宝2019年账单周一见 你准备好了吗?
查看>>
三星年度旗舰S20要来了:潜望式长焦加一亿像素!
查看>>
2019年微信数据报告:男性用户最爱搜“小姐姐”,表情包最受欢迎的是它
查看>>
莫名其妙就发个手机!这家公司员工晒年终奖品:人手一部iPhone 11
查看>>
苹果iPhone发布13周年:累计销量近20亿部
查看>>
威马董事长沈晖隔空喊话王兴:威马一定会是Top3之一
查看>>
号称2020最轻薄的5G旗舰,这款手机 你不看看吗?
查看>>
果粉失望!iPhone 12系列依旧刘海屏,将升级Face ID元件
查看>>
马化腾出售腾讯股份,四天套现近20亿港元;朋友圈发红包测试视频红包玩法...
查看>>
和会员说再见!抖音、西瓜视频独家免费上线14部院线大片
查看>>
10多家在线旅游企业呼吁海外商家向中国游客提供优惠退改措施
查看>>
DxOMark公布iPhone 11 Pro Max前置镜头评分:仅排名第十
查看>>
“患者同程查询”、“地区疫情查询”、“在线问诊”聚合…搜狗搜索这些功能够硬核...
查看>>
有没有跟新型肺炎确诊患者同乘车?百度可查!
查看>>