1. 程式人生 > >STL演算法,堆排序

STL演算法,堆排序

/*****************************************
STL-演算法--Heap演算法

堆排序演算法 (heapsort)
make_heap()         //把容器內的資料做堆排序
push_heap()         //向堆內放入元素
pop_heap()          //刪除堆頂元素
sort_heap()         //把堆排還原成普通排序

*****************************************/
/**----------------------------------------------------------------------------------
make_heap(b,e)                                  9
make_heap(b,e,cp)                      /                  \
push_heap(b,e)                        8                    6
push_heap(b,e,cp)                /         \          /          \
pop_heap(b,e)                   7           7        5            5
pop_heap(b,e,cp)              /   \       /   \    /   \        /
sort_heap(b,e)               3     6     4     1  2     3      4
sort_heap(b,e,cp)
----------------------------------------------------------------------------------**/