棧是 OI 中常用的一種線性數(shù)據(jù)結(jié)構(gòu),是一種只能在一端進(jìn)行插入和刪除操作的特殊線性表。棧的修改是按照后進(jìn)先出的原則進(jìn)行的,因此棧通常被稱為是后進(jìn)先出(last in first out)表炊邦,簡稱 LIFO 表。
STL 也提供了一個方法std::stack
// stack 構(gòu)造 :
1. stack<Typename T> s;
2. stack<Typename T, Container> s;
/* stack 的 Container 需要滿足有如下接口 :
* back()
* push_back()
* pop_back()
* 標(biāo)準(zhǔn)容器 std::vector / deque / list 滿足這些要求
* 如使用 1 方式構(gòu)造熟史,默認(rèn)容器使用 deque
*/
元素訪問:
s.top()
返回棧頂
容量:
s.empty()
返回是否為空
s.size()
返回元素數(shù)量
修改:
s.push()
插入傳入的參數(shù)到棧頂
s.pop()
彈出棧頂
其他運算符:
==馁害、!=、<蹂匹、<=碘菜、>、>=
可以按照字典序比較兩個 stack
的值