数据结构与算法学习记录(三)栈结构

什么是栈结构

栈结构是从数据的运算来分类的,也就是说栈结构具有特殊的运算规则。而从数据的逻辑结构来看,栈结构其实就是一种线性结构。如果从数据的存储结构来进一步划分,栈结构包括两类。

顺序栈结构

即使用一组地址连续的内存单元依次保存栈中的数据。在程序中,可以定义一个指定大小的结构数组来作为栈,序号为0的元素就是栈底,再定义一个变量top保存栈顶的序号即可。

链式栈结构

即使用链表形式保存栈中各元素的值。链表首部(head引用所指向元素)为栈顶,链表尾部(指向地址为null)为栈底。

在栈结构中只能在一端进行操作,该操作端称为栈顶,另一端称为栈底。也就是说,保存和取出数据都只能从栈结构的一端进行。从数据的运算角度来分析,栈结构是按照“后进先出”的原则处理结点数据的。

在栈结果中,只有栈顶元素是可以访问的,这样,栈结构的数据运算非常简单。一般栈结构的基本操作有两个。

入栈

将数据保存到栈顶的操作。进行入栈操作前,先修改栈顶引用,使其向上移一个元素位置,然后将数据保存到栈顶引用所指的位置。

出栈

将栈顶的数据弹出的操作。通过修改栈顶引用,使其指向栈中的下一个元素。

在这里插入图片描述

发布了84 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/GaoXiR/article/details/105675044
今日推荐