堆的STL库的应用
2016-01-14 19:10
190 查看
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"><span style="font-size:18px;">众所周知,堆是一个很重要的数据结构,在排序等应用中有着很重要的地位。在STL库中也收录了堆的头文件以及基础的函数。</span></span>
头文件:堆隶属于 #include <algorithm>
函数
建立堆
make_heap(a, a+n,Comp)
默认是建立最大堆的。对int类型,可以在第三个参数传入greater<int>()得到最小堆。
make_heap(a, a+n)默认建立成一个大顶堆
在堆中添加数据
push_heap (a, a+n)
要先在容器中加入数据,再调用push_heap ()
在堆中删除数据
pop_heap(a, a+n)
要先调用pop_heap()再在容器中删除数据
堆排序
sort_heap(a, a+n)
排序之后就不再是一个合法的heap了
添加删除操作,由于容器还未学习,请转读/article/1392199.html的文章
在这里我只介绍它在普通数组中的用法
#include<stdio.h> #include<algorithm> using namespace std; int main() { int a[10],b[10]; int i,n; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); b[i]=a[i]; } make_heap(a,a+n);//默认建立小顶堆 sort_heap(a,a+n);//堆排序 for(i=0;i<n;i++) { printf("%d ",a[i]); } putchar('\n'); return 0;
<span style="background-color: rgb(255, 255, 255);">}</span>
<span style="background-color: rgb(255, 255, 255);"> </span>
<span style="background-color: rgb(255, 255, 255);">以后会有所补充,本博客借鉴</span><span style="color: rgb(255, 255, 255); background-color: rgb(255, 255, 255);">的博文</span>
MoreWindows Blog
的博文
相关文章推荐
- ZOJ 3261 /哈理工OJ 1913 Connection in War(逆向并查集)(STL应用)
- 自建数组类的初始化错误分析(1)
- QT之QSetting类
- 机器学习算法基础概念学习总结
- RHEL6.5,制作本地 YUM 源
- ActiveMQ(5.10.0) - Wildcards and composite destinations
- 解决jsp开发时,卡顿问题
- BZOJ 1093: [ZJOI2007]最大半连通子图|tarjan|动态规划
- C++有哪几种情况只能用初始化列表,而不能用赋值?
- 连接字符串中的integrated security=true的意思是什么
- atitit.获取北京时间CST 功能api总结 O7
- NSMutableArray和NSArray的相互转换
- Struts2 <s:token/>标签 防止表单多次提交
- 虚拟机安装 RHEL后,中文显示乱码的解决方法
- html作业总结
- 【博客园爬虫后续优化】用 async 模块控制并发数
- HDU1425:sort(哈希思想!)
- 未能加载文件或程序集“projectname, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。
- 【iOS开发】NSAttributedString和NSMutableAttributedString
- iOS架构模式初探