05-看图理解数据结构与算法系列(基于数组的栈)

栈是一种线性存储结构且运算受限的线性表,它的插入和删除运算操作被限制在表的一端,该端称为栈顶,而另外一端则称为栈底。

栈中的数据以后进先出(Last In First Out 即LIFO)方式进出栈。

栈的实现

栈的实现方式有多种方式,主要是使用不同的结构来存储栈元素,比如使用数组、单向链表、双向列表等。这里看数组方式的实现。

实现的主要三要素是数组、当前栈顶下标以及栈操作集。数组用于存放元素,当前栈顶下标用于指引操作的位置,栈核心操作为push和pop,即进栈和出栈。栈存放的元素不能超过数组的长度。

image

push

"the","monster","is","coming"四个字符串分别进行 push 操作,

image image image image

pop

对栈中进行两次 pop 操作,

image image

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

作者:超人汪小建
链接:https://juejin.im/post/5b6502a3f265da0f9313c409
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自www.cnblogs.com/Knight-of-Dulcinea/p/9945837.html