我的c\c++之旅(三)——堆排序
来源:互联网 发布:淘宝怎么转接人工服务 编辑:程序博客网 时间:2024/05/22 12:53
堆排序
#define LEFT(i) (2 * (i) + 1)void Max_Heapify(int *sequence, int n, int i){ int child, tmp; for(tmp = sequence[i]; LEFT(i) < n; i = child) {child = LEFT(i);if(child != n-1 && sequence[child+1] > sequence[child])child++;if(tmp < sequence[child])sequence[i] = sequence[child];elsebreak;}sequence[i] = tmp;}void Build_Max_Heap(int *sequence, int n){ int i; for(i = n/2; i >= 0; i--) Max_Heapify(sequence, n, i);}void Heap_Sort(int *sequence, int n){ int i; Build_Max_Heap(sequence, n); for(i = n-1; i > 0; i--) { int tmp = sequence[0]; sequence[0] = sequence[i]; sequence[i] = tmp; Max_Heapify(sequence, i, 0); }}
0 0
- 我的c\c++之旅(三)——堆排序
- 排序——堆排序(C++)
- 建堆以及堆排序—C
- 我的c\c++之旅(八)——Shell排序
- 我的c\c++之旅(二)——归并排序
- 我的c\c++之旅(一)——插入排序
- 堆排序(C\C++)
- 堆排序(C++)
- 常见排序算法的C语言实现之堆排序
- 排序之堆排序的C语言实现
- C/C++排序之五(堆排序)
- C语言排序之堆排序篇
- 堆排序的C实现
- 堆排序的实现(c++)
- 《C算法》——堆排序
- 堆排序——ANSI C实现
- C语言——堆排序
- 堆排序的算法实现(C/C++)
- UIGraphics 绘制饼图
- 游戏引擎起步杂谈
- Beamforming技术在专网宽带无线通信系统中的应用
- javascript函数调用方式总结(共四种)-理解this
- 超实用的样式写法
- 我的c\c++之旅(三)——堆排序
- 责任链模式(Chain of Responsibility)
- Linux搭建SVN服务器
- 前端实践--JavaScript--浏览器对象
- 【JAVA 动态创建风水罗盘 超精华Swing项目方案-项目源码 - 文章04】
- ionic 删除插件
- Reveal的LLDB集成方式
- mysql在windows下的安装
- 序列化和反序列化---学习笔记