棧的定義:stack《資料型別》 + 棧的名稱
佇列的定義: queue《資料型別》 + 佇列名稱
**實現(以int為例)
stack sta ;
queue que ;
棧名sta,佇列名que
sta. push ();//元素入棧
que. push ();//元素佇列
sta.pop ();//最頂端元素出棧
que.pop ();//最底端元素出佇列
sta.top ();//查詢棧頂元素
que. front ();//查詢佇列頂端元素
sta. empty ();//判斷棧是否為空
que. empty ();//判斷佇列是否為空
while (! sta. empty ()) sta.pop ();//棧的清空
while (! que. empty ()) que.pop ();//佇列的清空
我們知道了佇列是先進先出,那麼優先佇列則不一樣了,進
的順序不能決定出的順序,優先佇列出的順序是按照自己設
置的優先等級來出佇列的,如果自己不設定優先順序的話,默
認優先順序為越大優先順序越高。
priority_queue que ;
que .push ();
que .pop ();
que .top ();//top返回優先順序最高的數。注意 不能用front!
que .empty ();
我們知道既然預設的優先順序是越大優先順序越高,那麼我們如何來
更改這個優先順序呢?
//int 型優先順序的設定,一定要注意最後兩個》之間有乙個空格,否則編譯時會報錯
priority_queue , greater > que ;
priority_queue ,less > que ;
//樣例
#include#include#include#includeusing namespace std;
priority_queue , greater> q ;//從小到大輸出
int main()
while(! q.empty())
{ cout
棧和佇列 知識點
在c 標準庫 stl 中,實現了棧和佇列,方便使用,並提供了若干方法。以下作簡要介紹。1 棧 stack 說明及舉例 使用棧,要先包含標頭檔案 include 定義棧,以如下形式實現 stacks 其中type為資料型別 如 int,float,char等 棧的主要操作 s.push item 將i...
棧與佇列知識點
一 讀取 include include 棧的標頭檔案 using namespace std intmain 輸入 123 輸出 123 二 刪除 include include 棧的標頭檔案 using namespace std intmain 輸入 123 456 輸出 123 三 判斷棧的...
佇列知識點
佇列 queue 是一種集合,只有2種操作,1 將元素新增到佇列末尾,2 將元素從頂部取出。1 int size 獲取佇列長度 2 add e offer e 新增元素到隊尾,但是當超過佇列容量,使用add會丟擲異常,offer僅僅返回false。3 remove e poll e 取出隊首元素並刪...