一、什么是 stack?
stack 容器,又稱棧容器,是簡(jiǎn)單地裝飾deque容器而成為另外的一種容器。
二、容器特性
1.單開口容器
實(shí)際上該容器模擬的就是棧存儲(chǔ)結(jié)構(gòu),即無論是向里存數(shù)據(jù)還是從中取數(shù)據(jù),都只能從一個(gè)開口實(shí)現(xiàn)操作。
2.不支持迭代器
只能通過固定的函數(shù)插入、訪問和刪除
三、基本函數(shù)實(shí)現(xiàn)
1,構(gòu)造函數(shù)
- stack();創(chuàng)建一個(gè)空stack
2.元素的增加、獲取與刪除
- void push(const T& x); 往棧中添加元素
- reference top(const ); 獲取棧頂元素
- void pop(const ); 刪除棧頂元素
5.判斷函數(shù)
- bool empty() const;判斷容器中是否有元素,若無元素,則返回 true;反之,返回 false。
6.大小函數(shù)
- int size() const;返回棧中元素的個(gè)數(shù)
7.其他函數(shù)
- void swap(stack&);交換兩個(gè)同類型棧的數(shù)據(jù)
四、基本用法
#include
#include
using namespace std;
int main()
{
stack<int> sk;
sk.push(2);
sk.push(3);
sk.push(4);
sk.push(5);
//只能這樣去遍歷,但是遍歷玩后,所有的數(shù)據(jù)都會(huì)被刪除
while (!sk.empty())
{
cout << sk.top() << " ";
sk.pop();
}
cout << "\\n size:" << sk.size() << endl;
return 0;
}
給大家布置一個(gè)小小的作業(yè),用棧實(shí)現(xiàn)類似vs的括號(hào)匹配檢查的程序~
比如:printf("plus"; 檢測(cè)這個(gè)字符串會(huì),顯示缺少右括號(hào))
-
容器
+關(guān)注
關(guān)注
0文章
511瀏覽量
22458 -
STACK
+關(guān)注
關(guān)注
0文章
14瀏覽量
3066
發(fā)布評(píng)論請(qǐng)先 登錄
OpenHarmony語言基礎(chǔ)類庫【@ohos.util.Stack (線性容器Stack)】


An_SNMP_Agent_for_the_Microchip_TCPIP_Stack
級(jí)聯(lián)與STACK與IRF與集群間的相互區(qū)別

重磅新品|CM4Stack

StickC M5Stack LED閃爍

評(píng)論