一、什么是栈
栈也是一种操作(或者说运算)受到限制的特殊线性表。
其插入和删除操作都限制在表的一端进行,这一端被称为“栈顶(top)”,相对的另一端称为“栈底(bottom)”。
两种操作:
1、“进栈(PUSH)”或者“压栈”
2、“出栈(POP)”。
栈的特点是:“先进后出(FILO,First In Last Out)”
二、stack容器
stack翻译为栈,是STL中实现的一个“后进先出”的容器,它提供了栈操作中的很多命令,非常方便。
如:
访问栈顶元素:top()
删除栈顶元素:pop()
元素放入栈顶:push()
使用stack前,要先添加stack头文件,即#include <stack>,同时,必须要有“using namespace std”。
定义一个 stack 的方法如下:
stack<typename> name;
其中,typename 可以是任何基本类型或者容器,name 是栈的名字。
三、Stack 使用方法总结:
s.push(x); 入栈, 将x 接到栈s的顶端。
s.pop(); 出栈,弹出栈顶端s的第一个元素,注意,并不会返回被弹出元素的值。
s.top(); 访问栈顶端元素, 即最早被压入栈s的元素。
s.empty(); 判断栈是否为空 , 当栈空时,返回true。
s.size(); 访问栈中的元素个数。