#include
#include
using namespace std;
vectora;
//建堆,建好後第乙個元素最大(小)
make_heap(a.begin(),a.end(), less() );
//取最大值
x=a.front();
pop_heap(a.begin(),a.end(), less() );
a.pop_back(); // 刪除最後乙個資料
//插入元素
a.push_back(x);
push_heap(a.begin(),a.end(),cmp);
//堆排序
sort_heap(a.begin(),a.end(),cmp);
// push_heap ( begin , end ) 將最後乙個元素插入堆中(堆自動調整)
// pop_heap ( begin , end ) 將第乙個元素從堆中刪去(堆自動調整),並放到最後
// find ( begin , end , value ) 從begin到end查詢value,若找不到,返回end
C STL中queue的使用
queue模版需要定義兩個模版引數,乙個是元素型別,乙個是容器型別,元素型別是必要的,容器型別是可選的,預設為dqueue型別。定義queue物件的示例 如下 queueq1 queueq2 queue的基本操作有 1.入隊 如q.push x 將x元素接到佇列的末端 2.出隊 如q.pop 彈出佇...
C STL 中大根堆,小根堆的應用。
priority queue int,vector int less int s less表示按照遞減 從大到小 的順序插入元素 priority queue int,vector int greater int s greater表示按照遞增 從小到大 的順序插入元素 不寫第三個引數或者寫成les...
c STL 容器 中 swap的使用
主要涉及以下內容 可以從下面 中檢視上述內容的解釋 include include include void printvector std vectorv int swap usage int size capacity printf n std vectorv2 printf v2 n v2.r...