queue是佇列容器,是一種「先進先出」的容器。
(1)預設情況下queue是利用deque容器實現的一種容器。
(2)它只允許在佇列的前端(front)進行刪除操作,而在佇列的後端(back)進行插入操作
(3)#include
queue採用模板類實現,queue物件的預設構造形式:queue quet; 如:
queue queueint; //乙個存放int的queue容器。
queue queuefloat; //乙個存放float的queue容器。
queue queuestring; //乙個存放string的queue容器。
… 注意: 尖括號內還可以設定指標型別或自定義型別。
queue<
int, list<
int>> queuelist;
//內部使用list 來儲存佇列元素的queue 容器.
錯誤: queue<
int, vector<
int>> queuelist;
//內部不能使用vector來儲存佇列元素
(1)queue.push(elem); //往隊尾新增元素
(2)queue.pop(); //從隊頭處移除隊首元素
queue<
int> queueint;
queueint.
push(1
);queueint.
push(2
);queueint.
push(3
);queueint.
push(4
);queueint.
pop();
queueint.
pop();
此時queueint存放的元素是3,4
queue物件的拷貝構造與賦值
queue
(const queue &que)
;//拷貝建構函式
queue&
operator=(
const queue &que)
;//過載等號操作符
queue<
int> queinta;
queinta.
push(1
);queinta.
push(2
);queinta.
push(3
);queinta.
push(4
);queinta.
push(5
);queue<
int>
queintb
(queinta)
;//拷貝構造
queue<
int> queintc;
queintc = queinta;
//賦值
queue.
back()
;//返回最後乙個元素
queue.
front()
;//返回第乙個元素
queue<
int> queinta;
queinta.
push(1
);queinta.
push(2
);queinta.
push(3
);queinta.
push(4
);queinta.
push(5
);int ifront = queinta.
front()
;//1
int iback = queinta.
back()
;//5
queinta.
front()
=66;//66
queinta.
back()
=88;//88
queue.empty(); //判斷佇列是否為空
queue.size(); //返回佇列的大小
queue<
int> queinta;
queinta.
push(1
);
queinta.
push(2
);
queinta.
push(3
);
queinta.
push(4
);
queinta.
push(5
);if(
!queinta.
empty()
)
例子:
#include
#include
#include
#include
using
namespace std;
intmain()
system
("pause");
return0;
}
執行環境: vc++ 2010 學習版
執行結果:
STL queue容器操作
include include includeusing namespace std 佇列容器 queue所有元素的進出都必須符合 先進先出 的條件,只有queue的頂端元素,才有機會被外界取用。queue不提供遍歷功能,也不提供迭代器。queue建構函式 queuequet queue採用模板類實...
map關聯容器使用詳解
咳咳,馬上就要期末考試了,說實話有些科目還是有點方的,有些課一直沒有聽,也沒有去練習,然後最近幾日還要去趕雙創的專案,害。按照流程,今天來講講map關聯容器的使用,咳咳,衝衝衝。每個女孩都喜歡購物,蒲公英也喜歡。現在,由於春節臨近,她發現這家商店每天都在漲價。她喜歡一家叫做 記憶 的商店。現在她想知...
C set容器使用
stl的set是乙個二叉排序樹,也稱為集合,其在stl內部實現是紅黑樹,能夠將元素預設從小到大排序或者是字典序排序。如果宣告的元素型別不是基本資料型別而是自定義的類要給它乙個比較器,類似於sort的compare。include include include include using names...