插入法建立一个最大堆
来源:互联网 发布:淘宝中专毕业证复印件 编辑:程序博客网 时间:2024/06/15 09:00
//用插入的方法建堆#include <iostream>#define PARENT(i) i>>1using namespace std;void MAX_HEAP_INSERT(int A[],int next){ while(1) { int par=PARENT(next); if(next>1 && A[par]<A[next]) { int temp=A[par]; A[par]=A[next]; A[next]=temp; next=par; } else break; }}void BUILD_MAX_HEAP(int A[],int heap_size){ if(heap_size<2) { if(heap_size==1) return; else cout<<"heapsize wrong"<<endl; } for(int i=2;i<heap_size+1;i++) { MAX_HEAP_INSERT(A,i); }}int main(int argc, char *argv[]){ int n; cin>>n; int test[n+1]; for(int i=1;i<n+1;i++) cin>>test[i]; BUILD_MAX_HEAP(test,n); for(int i=1;i<n+1;i++) cout<<test[i]<<" "; cout<<endl; cout << "Hello World!" << endl; return 0;}
阅读全文
0 0
- 插入法建立一个最大堆
- 如何根据一个数组建立最大堆
- 最大堆的建立
- 建立最大堆
- 最大堆的插入
- 最大堆插入算法
- 最大堆的建立和堆排序
- 最大堆最小堆的建立
- 堆排序和建立最大堆
- 最大二叉堆的建立以及最大堆排序
- 堆的建立,插入和自动排序
- 建立最大堆—数组—Java
- 最大堆的插入、删除、初始化
- 最大堆-插入/删除/排序-图解
- 最大堆的插入,删除和初始化
- 最大最小堆的插入与删除
- 最大堆的插入、弹出和生成
- 最大堆 插入和删除操作
- 第一次写博客,不知道标题写什么好。
- linux下查找某个目录下包含某个字符串的文件
- keil里面骚气的printf
- 避免按钮重复点击
- 刷题2
- 插入法建立一个最大堆
- C++ 异常处理
- ubuntu14.04一键安装eclipse和CDT
- hdu2952 Counting Sheep 深搜
- TortoiseSVN安装及导入已有SVN仓库
- Linux基础
- java数据类型
- 在一个有序数列中找到第一个比x大的数的位置
- 【MySQL】Windows 8.1忘记MySQL5.7 root 密码解决方案