C++的stack(栈)是一种容器,按照后进先出(Last In First Out,LIFO)原则存取数据。
要使用stack,需要包含头文件。
stack的常用操作包括:
- push(element):在栈顶插入一个元素。
- pop():移除栈顶元素。
- top():返回栈顶元素,但不移除它。
- empty():判断栈是否为空,如果为空则返回true,否则返回false。
- size():返回栈中元素的数量。
以下是一个示例程序,展示如何使用stack:
#include <iostream>
#include <stack>
int main() {
std::stack<int> stk;
// push操作
stk.push(1);
stk.push(2);
stk.push(3);
// top操作
std::cout << "Top element: " << stk.top() << std::endl;
// pop操作
stk.pop();
// size操作
std::cout << "Size: " << stk.size() << std::endl;
// empty操作
std::cout << "Is stack empty? " << (stk.empty() ? "Yes" : "No") << std::endl;
return 0;
}
输出:
Top element: 3
Size: 2
Is stack empty? No
在这个示例中,我们首先创建了一个int类型的stack。然后,我们使用push操作将三个元素(1、2、3)依次插入栈顶。接着,我们使用top操作输出栈顶元素(3),然后使用pop操作移除栈顶元素。最后,我们使用size操作得到栈中元素的数量(2),并用empty操作判断栈是否为空。