数据结构--栈(基础知识)

栈:只允许在表尾进行插入与删除的操作(后进先出)。

我们把允许插入和删除的一段称之为栈顶,另一端称之为栈底,不含任何元素的栈称之为空栈,栈又称为后进先出的线性表,简称LIFO结构。

栈的插入操作叫做进栈、入栈、压栈。

栈的删除操作叫做出栈、弹栈。

数据结构--栈(基础知识)_第1张图片

进出栈的变化形式,在栈中元素还没有全部放进来之前,栈中的栈顶元素是可以出栈的。如图事例

数据结构--栈(基础知识)_第2张图片

栈的顺序存储结构

在学习线性表的时候,知道线性表拥有2种结构顺序存储结构与链式存储结构。栈的顺序存储结构我们称之为顺序栈。

顺序栈的存储结构,先放进栈中的元素为栈底元素、后放进去的元素为栈顶元素。

数据结构--栈(基础知识)_第3张图片

只允许栈顶进出元素的设计还是很方便操作的,但是顺序栈存在一个缺陷,就是在使用栈前,我们要分配适当大小的栈空间,如果在运行过程中,一旦超出了栈大小,就会出现溢出现象。


栈的链式存储结构

栈的链式存储结构我们简称为链栈。如图

数据结构--栈(基础知识)_第4张图片

相比顺序栈,链栈不应该存在溢出的现象,除非内存空间不够了,那这样计算机也会一同崩掉。


链栈与顺序栈使用时的优缺点

数据结构--栈(基础知识)_第5张图片






你可能感兴趣的:(数据结构)