一、stack容器的基本概念
stack是一种先进后出(FILO)的数据结构,它只有一个出口。栈中只有顶端的元素才可以被外界使用。因此该容器不能有遍历行为。基本的结构如下:
stack容器有些像手枪子弹的弹夹,其数据的出入栈可以以弹夹为参考。
二、常用接口
构造方式:
stack stk ; stack采用模板类实现,stack对象的默认构造形式
stack( const stack &stk); 拷贝构造函数
赋值操作:
stack& operator=( const stack &stk ]; 重载等号操作符
数据存取:
push(elem); 向栈顶添加元素
pop() ; 从栈顶移除第一个元素
top();返回栈顶元素
大小操作:
empty(); 判断堆栈是否为空
size():返回栈的大小
三、小案例
stack<int> s;
//入栈
s.push(1);
s.push(2);
s.push(3);
s.push(4);
s.push(5);
//只要栈不为空,查看栈顶,并且执行操作
while (!s.empty())
{
//查看栈顶元素
cout << s.top() << endl;
//出栈
s.pop();
cout << "栈的大小为" << s.size() << endl;