STL中heap的使用方法

2021-06-26 22:06:10 字數 807 閱讀 2473

在stl中heap的用法主要是make_heap(),push_heap(),pop_heap()的用法。具體均在**中:

// range heap example  用heap構造出來的實際上是一棵樹

#include #include #include using namespace std;

int main ()

; vectorv(myints,myints+5);

vector::iterator it;

make_heap (v.begin(),v.end());//male_heap就是構造一棵樹,使得每個父結點均大於等於其子女結點

cout << "initial max heap : " << v.front() << endl;

/* */

pop_heap (v.begin(),v.end());//pop_heap不是刪除某個元素而是把第乙個和最後乙個元素對調後[first,end-1]進行構樹,最後乙個不進行構樹

v.pop_back();//刪除最後乙個的結點

cout << "max heap after pop : " << v.front() << endl;

v.push_back(99);//在最後增加乙個結點

push_heap (v.begin(),v.end());//重新構樹

cout << "max heap after push: " << v.front() << endl;

sort_heap (v.begin(),v.end());//把樹的結點的權值進行排序

/*for(int j=0;j

STL中堆 heap 函式的使用

所需標頭檔案 algorithm 語言環境 c 一般只用到四個make heap sort heap pop heap push heap。首先這四個函式的引數都一樣 first 首元素的位址 last 尾元素的位址 cmp比較函式 返回值都為void 這四個函式都是建立在陣列的基礎上的 cmp引數...

STL中的set使用方法詳細!!!!

1.關於set c stl 之所以得到廣泛的讚譽,也被很多人使用,不只是提供了像vector,string,list等方便的容器,更重要 的是stl封裝了許多複雜的資料結構演算法和大量常用資料結構操作。vector封裝陣列,list封裝了鍊錶,map和set 封裝了二叉樹等,在封裝這些資料結構的時候...

STL中的set使用方法詳細!!!!

1.關於set c stl 之所以得到廣泛的讚譽,也被很多人使用,不只是提供了像vector,string,list等方便的容器,更重要的是stl封裝了許多複雜的資料結構演算法和大量常用資料結構操作。vector封裝陣列,list封裝了鍊錶,map和set封裝了二叉樹等,在封裝這些資料結構的時候,s...