Bootstrap

C++之栈

基础概念

栈是一种先进后出(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
;