# queue
# 標頭檔
#include<queue> |
# 初始化
默認構造器:empty container constructor
queue<type> q; // 默認構造器 |
# push_back
&& pop_back
queue
最常用的成員函數,push 在最尾處插入值,及最頭部刪除值
--> FIFO (First In First Out),先入先出的概念
#include<queue> | |
using namespace std; | |
int main(){ | |
queue<int> q; | |
q.push(10); //{10} | |
q.push(20); //{10,20} | |
q.push(30); //{10,20,30} | |
q.pop(); //{20,30} | |
q.pop(); //{30} | |
} |
# front
queue
取出最前面值的方法,記得 front 只能知道最前面的值,不包括刪除工作。
#include<queue> | |
using namespace std; | |
int main(){ | |
queue<int> q; | |
for(int i = 1;i<=5;i++) | |
q.push(i*10); | |
//q {10,20,30,40,50} | |
while(!q.empty()){ | |
cout<<q.front()<<" "; | |
q.pop(); | |
} | |
} |
輸出
10 20 30 40 50
# back
'queue' 取出最後面值的方法,記得 back 只能知道最後面的值,不包括刪除工作。
#include<queue> | |
#include<iostream> | |
using namespace std; | |
int main(){ | |
queue<int> q; | |
q.push(12); //q{12} | |
q.push(75); //q{12,75} | |
q.back()-=q.front(); | |
cout<<"q.back() is now "<<q.back()<<'\n'; | |
} |
輸出
q.back() is now 63
# empty
如果 queue
為空, empty
返回 true
;
# size
返回 queue
容器元素個數
# emplace
C++11 的新特性,在幾乎所有的容器中都插入了這一函數,這一函數功能類似於 push
, 但是開銷遠小於 push
, 它不產生臨時變數
queue<pair<int,double>> q;//queue 中嵌套 pair | |
q.emplace(1,2.0);//emplace 的構造方式 |