在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
,可以方便地实现栈的功能,无需手动编写栈的数据结构。