前几天编写Dijskra算法,发现STL中的*_heap算法不够用,因为在堆调整过程中,存在着对象的交换,在交换过程中,我需要一些操作,所以自己写了一些*Heap的函数,在这里与大家分享,希望对大家有用。
heap.h
main.cpp
不足之处:
1.当前版本没有实现SortHeap,因为没有堆得逻辑长度;
2.当前的堆不是STL的风格,并且*Heap没有添加默认的比较,交换functor,使用起来不太方便;
3.当前的堆只能对std::vector进行操作,不能对std::deque进行操作。