stack
是 C++ 標準庫中的一個容器適配器,它提供了后進先出(LIFO, Last In First Out)的數據結構實現。stack
底層通常使用 deque
(雙端隊列)作為實現。
以下是 stack
的一些基本用法:
#include <stack>
stack
對象:std::stack<int> s;
stack
中壓入元素:s.push(1);
s.push(2);
s.push(3);
stack
中彈出元素:int top_element = s.top(); // 獲取棧頂元素,但不彈出
s.pop(); // 彈出棧頂元素
stack
是否為空:if (!s.empty()) {
// 棧非空
} else {
// 棧為空
}
stack
的大小:std::size_t size = s.size();
stack
(不推薦,因為 stack
不支持隨機訪問):for (auto it = s.begin(); it != s.end(); ++it) {
std::cout << *it << " ";
}
注意:stack
不支持迭代器解引用操作(如 *it
)和 stack.at()
方法,因為它們不提供隨機訪問。