算法导论堆实现
来源:互联网 发布:会员名和淘宝昵称区别 编辑:程序博客网 时间:2024/05/17 06:18
#include "iostream"using namespace std;int heap_size;int left(int i){ return 2*i;}int right(int i){ return 2*i+1;}void max_Heapify(int A[],int i){ int l,r,largest; l=left(i); r=right(i); int temp; if(l<=heap_size&&A[i]<A[l]) largest=l; else largest=i; if(r<=heap_size&&A[largest]<A[r]) largest=r; if(largest!=i){ temp=A[i]; A[i]=A[largest]; A[largest]=temp; max_Heapify(A,largest); }}void build_MaxHeap(int A[]){ heap_size=5; for(int i=heap_size/2;i>=1;i--){ max_Heapify(A,i); }}void heap_Delete(int A[],int i){ A[i]=A[heap_size]; heap_size--; max_Heapify(A,i);}void main(){ int A[20]={-1,12,2,43,23,3}; cout<<A[2]<<endl; build_MaxHeap(A); cout<<A[2]<<endl; heap_Delete(A,2); cout<<A[2]<<endl; getchar(); getchar();}
0 0
- 算法导论堆实现
- 【算法导论】堆排序实现
- 【算法导论】手动实现堆
- 算法导论堆排序实现
- 【算法导论】c++实现堆排序
- 堆排序__算法导论实现
- 算法导论堆排序Java实现
- 堆排序C语言实现 算法导论
- 算法导论C语言实现: 堆排序
- 【算法导论】用两个堆实现栈
- 《算法导论的Java实现》 堆排序
- 算法导论 堆排序 C语言实现
- 算法导论堆排序java实现
- 算法导论,堆排序,c实现。
- 算法导论堆排序python实现
- 算法导论—堆排序C++实现
- 堆排序(算法导论实现)
- 【算法导论】堆排序java实现
- 面试题1:赋值运算符函数
- 链接期和运行期的动态链接库
- unix系统若干问题
- 如何利用vs2012 debug unity3d
- Flex 输出文件到本地
- 算法导论堆实现
- mysql root密码丢失怎么办?
- Android 混淆代码总结
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Jquery 事件冒泡
- RTCP中的NTP的时间计算方法
- 判断Perl文件选项
- Hey, welcome to HDOJ(Hangzhou Dianzi University Online Judge).
- RBL.UBL,UBOOT