容器介面卡 佇列(queue)的用法以及實踐

2021-10-08 07:54:02 字數 720 閱讀 9387

佇列大致上和棧相同,不同之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的容器介面卡,都是基於deque容器上實現的。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。

需要包含queue標頭檔案

queue《資料型別》變數名

如:queueq;

q.push(n); //將n放進佇列

q.front(); //返回隊頭元素

q.pop(); //刪除隊頭元素

q.back(); //返回隊尾元素

q.size(); // 返回元素個數

q.empty(); //檢查佇列是否為空,空為返回true

將棧裡的翻轉字串問題中的棧改為佇列即可變為正序輸出,雖然可以直接用cout,cin來替代,但可以清楚的分辨兩者的差別。
#include

#include

using

namespace std;

intmain()

cout << endl;

//換行

}else

str.

push

(ch)

;//入棧

}return0;

}

容器介面卡(棧容器介面卡 佇列容器介面卡)

我們已有的容器 比如vector list 這個容器支援的操作很多,比如插入,刪除,迭代器訪問等等。而我們希望這個容器表現出來的是棧的樣子 先進後出,入棧出棧等等,此時,我們沒有必要重新動手寫乙個新的資料結構,而是把原來的容器重新封裝一下,改變它的介面,就能把它當做棧使用了。c 定義了三種容器介面卡...

STL容器介面卡 queue

1.概念 和stack一樣,queue也是一種容器介面卡,其通過對既有容器進行包裝,形成一種fifo first in first out 的資料結構。queue允許在一端進行插入,另一端進行訪問,如下 2.api queue提供的api介面比較簡單,如下 constructor construct...

容器介面卡 什麼是容器介面卡和用法

就是由基本的容器適配 改造 出來的那些容器,其它沒啥特殊的。比如stack,因為我們可以把stack理解成只是對vector deque或list的訪問加一點限制而已 只能從頭部訪問 所以沒有必要把stack做成乙個基本容器,使用其它的基本容器再稍微封裝改造一下就ok了,所以stack在stl中就只...