堆排序
来源:互联网 发布:求多维数组最大值 编辑:程序博客网 时间:2024/06/06 02:25
#include <iostream>using namespace std;#define N 8void HeapAdjust(int a[],int parent,int length) //建立大根堆算法{ int temp = a[parent]; int child = 2*parent+1; while(child<length) { if(child+1<length && a[child]<a[child+1]) child++; if(temp>=a[child]) break; a[parent] = a[child]; parent = child; child = 2*parent+1; } a[parent] = temp;}void HeapSort(int a[],int top) //堆排序算法{ int i; for(i=(N/2-1);i>=0;i--) { HeapAdjust(a, i, N); } for (i=N-1;i>=N-top;i--) { int temp = a[0]; a[0] = a[i]; a[i] = temp; HeapAdjust(a,0,i); }}int main(int argc, char const *argv[]){ int a[8] = {80,26,53,12,68,46,15,10}; HeapSort(a,8); for(int i=0;i<8;i++) { cout<<a[i]<<" "; } cout<<endl; return 0;}
阅读全文
0 0
- 堆及堆排序
- 堆/堆排序特点
- 【二叉堆、堆排序】
- 二叉堆 & 堆排序
- 二叉堆 & 堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆和堆排序
- 堆排序(最大堆)
- 堆和堆排序
- 堆和堆排序
- 堆及堆排序
- 堆和堆排序
- 堆与堆排序
- 牛客_3
- gcc-2.95.3编译-同时编译linux2.6.30版本内核
- [Python]网络爬虫(一):抓取网页的含义和URL基本构成
- Kotlin学习笔记(2)-方法,变量
- 3DES实现加密算法
- 堆排序
- 牛客网--统计字符
- 链表面试题Java实现【重要】
- 栈和队列的面试题Java实现
- 落单的数
- 2017.10 最新版tensorflow for windows安装过程记录
- 10分钟上手图数据库Neo4j
- 关于外链js中文乱码问题
- 数据结构时间复杂度