STL之stack學習總結(C )

2021-09-12 19:03:27 字數 1149 閱讀 9792

3. 常用函式(操作)

stl提供3種容器介面卡:stack、queue、priority_queue。容器介面卡不是第一類容器,因為它們不提供存放資料的實際資料結構的實現方法。而且容器介面卡不支援迭代器。容器介面卡的好處:程式設計師可以選擇相應的基礎資料結構。

stack類可以用任何順序容器vector、list、deque實現。預設情況下,stack用deque實現。stack的每個常見操作都實現為內聯函式,呼叫基礎容器的相應函式,這樣可以避免二次函式呼叫的開銷。

為了達到最佳效能,用deque或vector作為stack的基礎容器。

#include

//宣告stack,預設以deque容器實現

stackdeque_stack;

//宣告stack,以vector容器實現

stack> vector_stack;

//宣告stack,以list容器實現

stack> list_stack;

//宣告乙個int型別的stack2,將stack1的元素複製給stack2

stackstack2=stack1;

或 stackstack2(stack1);

stack1.empty(); //返回值bool型別,若stack1為空,則返回true
stack1.size(); //返回值為int型別,stack1當前存放的元素的個數
條件是stack不為空

stack1.top(); //返回棧頂元素
//設定乙個輸出函式

void display_stack(stacknums) {

while (!nums.empty()) {

cout//在stack1的棧頂放入元素2

stack1.emplace(2);

//刪除stack1棧頂元素

stack1.pop()

//將stack1和stack2交換

stack1.swap(stack2);

STL學習之stack使用

stl中包含了棧的模板類,提供了一種符合stack資料型別的filo 先進後出 的規則的實現,我們可以方便的使用。構造乙個stack的物件,也是需要兩個引數,乙個元素型別 必須 乙個容器型別 可選 而且和queue一樣,容器型別預設使用的是雙向佇列,dque.基本使用的方法也不多,甚至比較少。很常見...

C 基礎 STL之棧stack

這篇文章介紹一下stl中stack的基本使用方法。棧也是最為常見的一種資料結構,佇列中的元素滿足filo 先進後出 include using namespace std stack函式名 用途功能說明 時間複雜度 size 查詢遍歷 獲取元素個數 o 1 top 查詢遍歷 獲取指向第乙個元素的迭代...

STL容器總結之stack和queue

std stack first std stack second first std stack third 使用vector初始化stackempty 判斷是否為空 push elem e 棧頂壓入一元素 pop 彈出棧頂元素 top 返回棧頂元素 size 返回棧中元素個數push x 將x壓入...