在C++中,stack是一种容器,用于存储数据并按照后进先出(LIFO)的顺序访问数据。stack可以存储任何类型的数据,包括内置类型(如int、float)和用户自定义类型。
stack的主要操作包括:
- push(elem):将元素elem添加到栈的顶部。
- pop():从栈的顶部移除一个元素。
- top():返回栈顶部的元素,但不将其从栈中移除。
- empty():检查栈是否为空。
- size():返回栈中元素的数量。
下面是一个使用stack的简单示例:
#include#include int main() { std::stack myStack; myStack.push(10); myStack.push(20); myStack.push(30); std::cout << "Stack size: " << myStack.size() << std::endl; std::cout << "Top element: " << myStack.top() << std::endl; myStack.pop(); std::cout << "Stack size: " << myStack.size() << std::endl; std::cout << "Top element: " << myStack.top() << std::endl; return 0; }
输出结果:
Stack size: 3 Top element: 30 Stack size: 2 Top element: 20
这个示例首先创建了一个整型的stack(std::stack
),然后使用push()
方法将三个元素(10、20、30)依次添加到stack中。然后通过size()
方法获取stack的大小,通过top()
方法获取栈顶元素(30)。接着使用pop()
方法移除栈顶元素,再次使用size()
和top()
方法显示更新后的stack。
请注意,为了使用stack,您需要包含头文件
。