博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
堆排序
阅读量:6171 次
发布时间:2019-06-21

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

具体解析可参见:http://bubkoo.com/2014/01/14/sort-algorithm/heap-sort/

#include
using namespace std;void heap(int *a, int index, int Size){ int left = 2*index + 1; int right = 2*index + 2; int iMAX = index; if(right < Size && a[iMAX] < a[left]) iMAX = left; if(right < Size && a[iMAX] < a[right]) iMAX = right; if(iMAX != index){ swap(a[index], a[iMAX]); heap(a, iMAX, Size); }}void buildHeap(int *a, int len){ int index = (len/2)-1; for(int i = index; i >= 0; i--){ heap(a, i, len); }}void heapSort(int *a, int len){ buildHeap(a, len); for(int i = len; i >= 1; i--){ swap(a[0], a[i-1]); heap(a, 0, i-1); }}int main(){ int a[10] = {
16, 10, 4, 14, 7, 9, 3, 2, 8, 1}; heapSort(a, 10); for(int i = 0; i < 10; i++){ cout << a[i] << ' '; } }

 

转载于:https://www.cnblogs.com/Vincent-Bryan/p/6498737.html

你可能感兴趣的文章
学习 HTTP协议挺不错的一个类
查看>>
深入字节码 -- ASM 关键接口 MethodVisitor
查看>>
linux 文件权限
查看>>
Linux常用命令集合
查看>>
Oracle DML
查看>>
Linux - FHS文件系统层次标准
查看>>
报错:Invalid bound statement (not found)
查看>>
Linux GPT分区格式磁盘的相关操作
查看>>
通过Docker进程pid获取容器id
查看>>
L15.2 zabbix基础(2)组件说明介绍
查看>>
impdp 常见问题 10g/11g/12c 问题解决 ERIKXUE
查看>>
2013年1月工作小结 -- 上线后的懈怠
查看>>
敏捷宣言
查看>>
php Yii: 出现undefined offset 或者 undefined index解决方案
查看>>
Bash编程入门
查看>>
org.tinygroup.binarytree-二叉树
查看>>
5.6-全栈Java笔记:内部类的四种实现方式
查看>>
Linux微职位学习笔记-终端
查看>>
自己写了一个友盟推送的util
查看>>
Mapreduce 扫描hbase表建立solr索引
查看>>