C STL中堆的使用

2021-05-23 17:56:01 字數 579 閱讀 1464

#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...