在C++中,棧可以通過使用標準庫中的std::stack
來實現。std::stack
是一個模板類,可以使用std::deque
、std::list
或std::vector
等STL容器來實現。
下面是一個使用std::stack
和std::vector
實現棧的示例代碼:
#include <iostream>
#include <stack>
#include <vector>
int main() {
std::stack<int, std::vector<int>> myStack;
myStack.push(1);
myStack.push(2);
myStack.push(3);
while (!myStack.empty()) {
std::cout << myStack.top() << " ";
myStack.pop();
}
std::cout << std::endl;
return 0;
}
在上面的示例代碼中,通過std::stack<int, std::vector<int>> myStack
聲明了一個整型的棧,并使用std::vector
作為底層容器。然后使用push()
方法向棧中壓入元素,使用top()
方法訪問棧頂元素,使用pop()
方法彈出棧頂元素,使用empty()
方法判斷棧是否為空。
通過std::stack
,可以方便地實現棧的功能,無需手動編寫棧的數據結構。