STL學習筆記之佇列queue
阿新 • • 發佈:2018-11-08
<queue>
只能訪問queue<T>容器介面卡的第一個和最後一個元素。只能在容器的末尾新增新元素,只能從頭部移除元素。FIFO(先進先出)
1.初始化
需要標頭檔案<queue>
queue<int>que;
2.成員函式
C++佇列Queue類成員函式如下:
back()返回最後一個元素
empty()如果佇列空則返回真
front()返回第一個元素
pop()刪除第一個元素
push()在末尾加入一個元素
size()返回佇列中元素的個數
3.queue 的基本操作舉例如下:
queue入隊,如例:q.push(x); 將x 接到佇列的末端。
queue出隊,如例:q.pop(); 彈出佇列的第一個元素,注意,並不會返回被彈出元素的值。
訪問queue隊首元素,如例:q.front(),即最早被壓入佇列的元素。
訪問queue隊尾元素,如例:q.back(),即最後被壓入佇列的元素。
判斷queue佇列空,如例:q.empty(),當佇列空時,返回true。
訪問佇列中的元素個數,如例:q.size()
queue佇列中沒有clear()操作:
因此清空佇列有幾種方法:
第一種:直接用空的佇列物件賦值
queue<int>q1
q1=queue<int>();
第二種:遍歷出佇列
while(!q.empty())q.pop();
第三種:使用swap,這種是最高效的,定義clear,保持STL容器的標準
void clear(queue<int>& q)
{
queue<int>empty;
swap(empty,q);
}