1. 程式人生 > >STL學習筆記之佇列queue

STL學習筆記之佇列queue

<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);
}