stl 中優先佇列的使用方法(priority_queu)
基本操作:
empty() 如果隊列為空返回真
pop() 刪除對頂元素
push() 加入乙個元素
size() 返回優先佇列中擁有的元素個數
top() 返回優先佇列對頂元素
在預設的優先佇列中,優先順序高的先出隊。在預設的int型中先出隊的為較大的數。
使用方法:
標頭檔案:
#include
宣告方式:
1、普通方法:
priority_queue
<
int>
q;//
通過操作,按照元素從大到小的順序出隊
2、自定義優先順序:
struct
cmp};
priority_queue
<
int, vector
<
int>
, cmp
>
q;//
定義方法
//其中,第二個引數為容器型別。第三個引數為比較函式。
3、結構體宣告方式:
struct
node
};priority_queue
<
node
>
q;//
定義方法
//在該結構中,y為值, x為優先順序。
//通過自定義operator《操作符來比較元素中的優先順序。
//在過載」<」時,最好不要過載」>」,可能會發生編譯錯誤
stl 中佇列的使用(queue)
基本操作:
push(x) 將x壓入佇列的末端
pop() 彈出佇列的第乙個元素(隊頂元素),注意此函式並不返回任何值
front() 返回第乙個元素(隊頂元素)
back() 返回最後被壓入的元素(隊尾元素)
empty() 當隊列為空時,返回true
size() 返回佇列的長度
使用方法:
標頭檔案:
#include
<
queue
>
宣告方法:
1、普通宣告
queue
<
int>q;
2、結構體
struct
node
;queue
<
node
>q;
stl 中棧的使用方法(stack)
基本操作:
push(x) 將x加入棧中,即入棧操作
pop() 出棧操作(刪除棧頂),只是出棧,沒有返回值
top() 返回第乙個元素(棧頂元素)
size() 返回棧中的元素個數
empty() 當棧為空時,返回 true
使用方法:
和佇列差不多,其中標頭檔案為:
#include
<
stack
>
定義方法為:
stack
<
int>
s1;//
入棧元素為 int 型
stack
<
string
>
s2;//
入隊元素為string型
stack
<
node
>
s3;//
入隊元素為自定義型
/**//*
*************************************
| || stl中優先佇列使用方法 |
| |
| chenlie |
| || 2010-3-24 |
| |*************************************
*/#include
<
iostream
>
#include
<
vector
>
#include
<
queue
>
using
namespace
std;
intc[
100];
struct
cmp1
};struct
cmp2
};struct
node
};priority_queue
<
int>
q1;priority_queue
<
int, vector
<
int>
, cmp1
>
q2;priority_queue
<
int, vector
<
int>
, cmp2
>
q3;priority_queue
<
node
>
q4;queue
<
int>
qq1;
queue
<
node
>
qq2;
intmain()
cout
<<
endl;
while(!
q4.empty())
//cout << endl;
}return0;
}
STL容器之優先佇列
優先順序佇列,以前刷題的時候用的比較熟,現在竟然我只能記得它的關鍵字是priority queue 太傷了 在一些定義了權重的地方這個資料結構是很有用的。先回顧佇列的定義 佇列 queue 維護了一組物件,進入佇列的物件被放置在尾部,下乙個被取出的元素則取自佇列的首部。priority queue特...
STL之優先佇列priority queue
stl 之優先佇列 原本以為 priority queue 很簡單,才知道原來懂的只是最簡單的形式。標頭檔案 include include auto comp pair a,pair b priority queue,vector decltype comp temp comp struct co...
STL容器之優先佇列
參考 拼裝小火車 要學會如何定義最小優先佇列 最大優先佇列 對於自己定義的結構體,如何定義最小 最大優先佇列 核心 定義比較結構 struct cmp1 struct cmp2 自定義資料結構 struct number1 struct number2 priority queue que 採用預設...