重要的数据结构。
操作:
- size() 返回实际个数
- empty() 判断是否为空
- push(item) 压栈
- top() 返回栈顶元素
- pop() 将栈顶元素删除
- s1.swap(s2) 将两个栈元素交互
- s1 == s1 判断是否相等
注:栈没有clear方法,若程序需要,可以单独编写!
示例代码:
#include <stack>
#include <iostream>
using namespace std;
int main() {
stack<int> intStack;
// 压 4个元素入栈
intStack.push(16);
intStack.push(8);
intStack.push(20);
intStack.push(3);
// 取栈顶元素,并弹栈
cout << "top of intStack:" << intStack.top() << endl;
intStack.pop();
cout << "top of intStack:" << intStack.top() << endl;
while(!intStack.empty()) {
cout << intStack.top() << " ";
intStack.pop();
}
cout << endl;
return 0;
}
运行结果:
top of intStack:3
top of intStack:20
20 8 16
top of intStack:20
20 8 16