您当前的位置:首页 > 计算机 > 编程开发 > 数据结构与算法

栈和队列是线性结构(包含栈和队列的区别和共同点)

时间:03-05来源:作者:点击数:

很多学员问,栈和队列是线性结构吗?这里再次强调,栈和队列是线性结构。

数据结构中,如果想知道存储结构之间是否相同和类似,只需要比对它们存储的目标数据之间的逻辑关系即可,所存储数据的逻辑关系相同,则说明它们是同一类存储结构;反之,则不是。

通过前面的学习我们知道,线性结构,即用于存储逻辑关系为 "一对一" 数据的存储结构,例如顺序存储结构和链式存储结构。

栈存储结构
图 1 栈存储结构

回过头再分析栈(如图 1 所示),栈结构中存储的也是逻辑关系为 "一对一" 的数据,只不过该结构对数据的存储顺序有额外的要求,即数据进栈和出栈要满足 "先进后出" 的要求。因此可以这么说,栈是一种特殊的线性存储结构。

队列存储结构
图 2 队列存储结构

那么,队列存储结构(如图 2 所示)呢?同栈一样,它存储的也是逻辑关系为 "一对一" 的数据,但它对数据入队和出队的要求是 "先进先出"。所以说,队列也是一种特殊的线性存储结构。

总的来说,栈和队列是线性存储结构,只不过它们比较 "特殊" 而已。

栈和队列,除了都是线性结构外,还有一个共同点,那就是数据的进出,只能在栈和队列的端点处进行。换句话说,栈结构中,数据的入栈和出栈只能在开口的一端进行;队列中,数据从一端进,从另一端出。

栈和队列最大的区别就是,栈结构中存储数据要求 "先进后出";队列存储数据要求 "先进先出"。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门