一、什么是 stack?
stack 容器,又稱棧容器,是簡單地裝飾deque容器而成為另外的一種容器。
二、容器特性
1.單開口容器
實際上該容器模擬的就是棧存儲結構,即無論是向里存數據還是從中取數據,都只能從一個開口實現操作。
2.不支持迭代器
只能通過固定的函數插入、訪問和刪除
三、基本函數實現
1,構造函數
- stack();創建一個空stack
2.元素的增加、獲取與刪除
- void push(const T& x); 往棧中添加元素
- reference top(const ); 獲取棧頂元素
- void pop(const ); 刪除棧頂元素
5.判斷函數
- bool empty() const;判斷容器中是否有元素,若無元素,則返回 true;反之,返回 false。
6.大小函數
- int size() const;返回棧中元素的個數
7.其他函數
- void swap(stack&);交換兩個同類型棧的數據
四、基本用法
#include
#include
using namespace std;
int main()
{
stack<int> sk;
sk.push(2);
sk.push(3);
sk.push(4);
sk.push(5);
//只能這樣去遍歷,但是遍歷玩后,所有的數據都會被刪除
while (!sk.empty())
{
cout << sk.top() << " ";
sk.pop();
}
cout << "\\n size:" << sk.size() << endl;
return 0;
}
給大家布置一個小小的作業,用棧實現類似vs的括號匹配檢查的程序~
比如:printf("plus"; 檢測這個字符串會,顯示缺少右括號)
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
容器
+關注
關注
0文章
499瀏覽量
22120 -
STACK
+關注
關注
0文章
13瀏覽量
2822
發布評論請先 登錄
相關推薦
An_SNMP_Agent_for_the_Microchip_TCPIP_Stack
An SNMP Agent for the Microchip TCPIP Stack
發表于 02-26 17:01
?3次下載
級聯與STACK與IRF與集群間的相互區別
級聯與STACK與IRF與集群間的相互區別(深圳核達中遠通電源技術有限公司招聘)-級聯與STACK與IRF與集群間的相互區別? ? ? ? ? ? ? ? ? ?
發表于 08-31 19:59
?11次下載
重磅新品|CM4Stack
//4月4日,M5精心打磨了一年之久的CM4Stack終于上架,發售當天,立即售罄。這款錯過要等幾個月的產品,有什么迷人之處?通過下面這個開箱視頻,我們可以先了解一下。上新啦CM4Stack是一款
評論