栈最大的特点是“先进后出”,如同一筒羽毛球,先放进去的球是最后才能拿出来的,而后放进去的球却是最先拿出来的。同理,先储存进栈中的元素是最后才能展现,而后放进去的却是最先展现的。
栈的头文件是#include<stack>
栈又可划分为两种:
第一种是基于数组的栈;
第二种是基于单链表的栈。
本节只讲述一下第一种。
栈的主要操作如下:
stack<type>s; //定义一个栈,type为数据类型(相当于int、double、char等);
s.push(data) //将data放到栈顶;
s.top() //返回栈顶位置;
s.pop() //直接清楚栈顶元素;
s.size() //返回栈中元素的个数;
s.empty() //检查栈中是否为空,如果不空的话会返回false,反之则为true。