比较 class 优先队列
Compare class for priority queue
当我们想要一个最小优先级队列时,我们将 Compare
class 声明为 std:greater
。类似于 return obj1 > obj2
谁能详细说说优先队列是怎么用的?在插入中应用它?或在 pop()
.
之后用于 "heapify"
我们知道在插入时,新元素会尽可能地浮起来。所以如果插入使用更大的,那么 obj1
将是父级? obj2
本身就是新元素?
我查阅了STL源代码,了解了Compare函数是如何使用的。下面是 link
http://llvm.org/svn/llvm-project/libcxx/trunk/include/algorithm
关键字:push_heap、sift_up
if (Compare(parent, children))
do the swap
当我们想要一个最小优先级队列时,我们将 Compare
class 声明为 std:greater
。类似于 return obj1 > obj2
谁能详细说说优先队列是怎么用的?在插入中应用它?或在 pop()
.
我们知道在插入时,新元素会尽可能地浮起来。所以如果插入使用更大的,那么 obj1
将是父级? obj2
本身就是新元素?
我查阅了STL源代码,了解了Compare函数是如何使用的。下面是 link http://llvm.org/svn/llvm-project/libcxx/trunk/include/algorithm
关键字:push_heap、sift_up
if (Compare(parent, children))
do the swap