stack 容器與 queue 容器入門

2021-10-05 10:06:07 字數 1616 閱讀 3799

歡迎前往我的個人部落格閱讀原文。

學習了五種常用的容器,還剩下 stack 堆疊容器和 queue 佇列容器沒有學習。今天就來學習這兩種容器。

stack 堆疊是乙個後進先出(last in first out,lifo) 的線性表,插入和刪除元素都只能在表的一端進行。插入元素的一端稱為棧頂(stack top),而另一端則稱為棧底(stack bottom)。插入元素叫入棧(push),元素的刪除則稱為出棧(pop)。

使用 stack,需要標頭檔案宣告:

#include

堆疊只提供入棧、出棧、棧頂元素訪問和判斷是否為空等幾種方法。

下面的程式展示了各種方法的使用:

#include

#include

using

namespace std;

intmain

(int argc,

char

* ar**)

cout << endl;

// 判斷堆疊是否為空

cout << s.

empty()

<< endl;

return0;

}

執行結果:

queue 佇列容器是乙個先進先出(first in first out,fifo) 的線性儲存表,元素的插入只能在隊尾,元素的刪除只能在隊首。

queue 需要宣告標頭檔案:

#include

queue 佇列具有入隊push()(即插入元素)、出隊pop()(即刪除元素)、讀取隊首元素front()、讀取隊尾元素back()、判斷佇列是否為空empty()和佇列當前元素的數目size()這幾種方法。

下面這段程式展示了各種方法的使用方法:

#include

#include

using

namespace std;

intmain

(int argc,

char

* ar**)

cout << endl;

// 佇列是否為空

cout << q.

empty()

<< endl;

return0;

}

執行結果:

到此,c++ stl的常用的容器基本上就介紹完了,有了這些基本的容器,就可以編寫更加高效的**。但學無止境,c++ 中還有許多沒有學習的知識,以後慢慢學習進步。

stack容器和queue容器

stack容器基本概念 stack是一種先進後出 first in last out,filo 的資料結構,它只有乙個出口,stack容器允許新增元素,移除元素,取得棧頂元素,但是除了最頂端外,沒有任何其他方法可以訪問stack的其他元素,換言之,stack不允許有遍歷行為。有元素推入棧的操作成為p...

stack容器和queue容器常見API

注意 棧和佇列不支援遍歷操作,不支援下標訪問元素。話不多說,直接來 1.stack容器 include include include using namespace std 棧 先進後出,只能在棧頂入棧和出棧,棧頂進行操作 沒有迭代器,不存在遍歷行為 include include include...

STL容器之stack與queue用法

目錄 一 棧的概念 二 棧的構造與常用介面 三 佇列的概念 四 佇列的構造與常用介面 棧的儲存規則是先進後出 filo 可以同vector deque一樣可以儲存任意一種資料型別的資料元素,它只有乙個出口,而且它只能訪問棧頂的元素,不允許遍歷操作,需要獲取棧裡的元素,則需要乙個個將棧頂的元素移出。1...