上节课对数据结构有了基本了解,知道数据结构分为逻辑结构和存储结构。逻辑结构又分为线性结构和非线性结构,这节课要讲的栈就是典型的线性结构。古代有客栈,货栈,马栈。客栈就相当于今天的宾馆,一端开口另一端封闭

 栈闭口的一端叫栈底,开口的一端叫栈顶,无论出栈还是进栈都是在顶部进行

 

 栈在实际使用中是怎么工作的呢?

每个栈在使用初都先定义一个大小,现在假设一个栈的大小是10,里面存储10个数字,假设10这一端是开口的。现在定义好了开始工作前,栈顶和栈底的指针都是指向栈底1前面的,也就是1前面0。

 现在开始入栈,现在35入栈(从10进来到1这里完毕),然后栈底指针不变指向0,栈顶指针开始指向1了,1现在就是栈顶元素,

现在68入栈,从10到2这个位置,栈底指针还是不变,栈顶指针指向2,

 现在出栈,先68出栈

 

 可以把10作为栈底,还可以把3作为栈底,因为栈是一种逻辑结构,数组是存储结构,没有人规定必须从0开始存储。

 

 说了这么多,在考试中让计算栈里面有多少元素的时候还要具体问题具体分析。

原文地址:https://www.cnblogs.com/djlindex/p/12121481.html