我们知道栈是一种遵从后入先出的数据结构,要想用数组实现我们就要添加一种实现规则,即单项增加或者减少。
也就是我们可以创建一个整形数组,和一个初值为-1的名为top的变量,top即为索引,而数组只能可以从一端开始,我们可以依次push,pop,top等操作
1push:对于push函数我们可以使用top++然后将其作为数组的索引值,函数传入的形参即为要擦入的数值,将其赋值给数组。
2pop;pop函数我们只需要将索引值减,但是我们知道函数数组中的值依然存在,但是我们不必去删减,因为下一次我们再去进行操作的时候,我们传送的值将会覆盖上一次传送的值。
3top;top操作将会返回栈顶的值,即数组最末尾的值,即返回索引值为top的数组的值即为栈顶返回值。
4isempty操作;isempty函数检验栈是否为空,所以我们只需要知道数组的索引值对应的为-1的时候,进行内存的释放没这样我们就可以检验栈是否为空栈。当然返回的是布尔值,如果条件成立则结果为true反之为false。
在 c语言中我们可以用结构体轻易的来实现栈的操作,同时也有面现象对象的实现方法。下一次我们将用链表来实现栈的操作。