基础概念
栈是一种先进后出(FILO,First In Last On)的线性结构。
用一个图片来表示一下栈。
可以将栈形象地用一个杯子来表示。
代码实现
定义
如果仔细想想,栈和数组差不多,都是类似一个长条状,所以我们就可以用数组来模拟栈,但是,我们不知道栈顶的下标是多少,所以就需要一个变量来表示栈顶的下标,代码实现如下:
int a[100];//数组模拟栈
int top = 0;//栈顶指针
遍历
我们已经知道栈顶的下标是多少,而且栈里的元素都是按顺序的,所以说输出就很简单了,代码实现如下:
void print(){ //输出函数
for(int i = 0; i < top; i++){
cout << a[i] << ' ';
}
}
压入元素
输出都来了,那么压入还会难吗?
我们知道,栈它是从上面压入元素,而且我们已经知道他的栈顶的下表,所以就可以很简单地用代码实现:
//压入栈底元素
void push(int x