STL中heap的使用方法及注意事项(msdn2003中未提及)

原创 2006年12月11日 17:48:00
1、make_heap
The first version of the make_heap algorithm arranges the elements in the range [first, last) into a heap using less than (operator<) to perform comparisons. The second version uses the comparison operator comp to perform the comparisons. Since the only requirements for a heap are the two listed above, make_heap is not required to do anything within the range (first, last - 1).
2、 push_heap
Note that the push_heap algorithm does not place an element into the heap's underlying container. You must user another function to add the element to the end of the container before applying push_heap using the push_back member function..
3、 pop_heap
It then swaps the value in the location first with the value in the location last - 1 and makes [first, last -1)back into a heap. You can then access the element in last using the vector or deque back() member function, or remove the element using the pop_back member function. Note that pop_heap does not actually remove the element from the data structure, you must use another function to do that.
参考文献:
 

STL中priority_queue的使用注意事项

今天在使用priority_queue写一个算法的时候,总是报heap异常,查了很久,才知道原因。 我们知道优先级队列的底层是用heap来实现的,每次push和pop操作后,都会调用heapify来...
  • gzxcyy
  • gzxcyy
  • 2013年10月29日 19:58
  • 1026

c3p0的使用方法及注意事项

今天学习数据库连接池的时候发现C3P0需要导入需要导入如下两个jar包, 否则会报错。这里附上jar包的下载链接。c3p0下载链接 顺便了解下使用c3p0连接池的方法。 首先我们需要知道为什么要使...
  • qq_25439877
  • qq_25439877
  • 2017年05月26日 17:13
  • 246

STL中关于heap的函数

在STL中,如果要用到堆,则有五个函数,make_heap,pop_heap,push_heap,heap_sort,和is_heap,其中is_heap和heap_sort就是判断容器是否符合堆的条...
  • u010585135
  • u010585135
  • 2014年12月09日 16:50
  • 542

STL中heap的使用方法

在STL中heap的用法主要是make_heap(),push_heap(),pop_heap()的用法。具体均在代码中: // range heap example  用heap构造出来的实际上是...
  • yusiguyuan
  • yusiguyuan
  • 2014年11月09日 16:30
  • 876

STL源码—heap最大堆,最小堆

最大堆和最小堆都是一棵完全二叉树。     最大堆:是指根节点的关键字值是堆中的最大关键字值,且每个节点若有儿子节点,其关键字值都不小于其儿子节点的关键字值。     最小堆:是指根节点的...
  • xietingcandice
  • xietingcandice
  • 2014年11月17日 20:23
  • 841

STL 中make_heap学习

C++ STL make_heap, 省去我们自己创建堆的繁琐操作,使用stl库之间进行操作,节省我们大量的时间。...
  • li744831579
  • li744831579
  • 2014年09月03日 10:37
  • 2497

STL算法_heap算法篇

STL算法_heap算法篇 堆简介二叉堆是一种完全二叉树,即整棵二叉树中除了最底层的叶子节点之外,其余节点是填满的,而最底层的叶子节点由左到右也是填满的不能存在空隙。堆主要包括两类:大顶堆和小顶堆。大...
  • yzhang6_10
  • yzhang6_10
  • 2016年05月01日 22:32
  • 822

stl中的heap使用

参加腾讯马拉松的时候,又一道题目需要用堆来维护数据,我居然不会用stl中的堆,只好到网上搜,真是往事不堪回首。。。 stl中的堆默认是最大堆,要想用最小堆的话,必须要在push_heap,pop_he...
  • lwfcgz
  • lwfcgz
  • 2013年04月04日 22:46
  • 7159

Junit4的注意事项

Junit4的使用注意事项
  • zxq__
  • zxq__
  • 2016年05月17日 10:52
  • 107

STL algorithm算法make_heap和sort_heap(32)

make_heap原型: std::make_heap default (1) template void make_heap (RandomAccessI...
  • guang_jing
  • guang_jing
  • 2014年09月17日 17:29
  • 6167
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:STL中heap的使用方法及注意事项(msdn2003中未提及)
举报原因:
原因补充:

(最多只允许输入30个字)