很多学员问,栈和队列是线性结构吗?这里再次强调,栈和队列是线性结构。
数据结构中,如果想知道存储结构之间是否相同和类似,只需要比对它们存储的目标数据之间的逻辑关系即可,所存储数据的逻辑关系相同,则说明它们是同一类存储结构;反之,则不是。
通过前面的学习我们知道,线性结构,即用于存储逻辑关系为 "一对一" 数据的存储结构,例如顺序存储结构和链式存储结构。
图 1 栈存储结构
回过头再分析栈(如图 1 所示),栈结构中存储的也是逻辑关系为 "一对一" 的数据,只不过该结构对数据的存储顺序有额外的要求,即数据进栈和出栈要满足 "先进后出" 的要求。因此可以这么说,栈是一种特殊的线性存储结构。
图 2 队列存储结构
那么,队列存储结构(如图 2 所示)呢?同栈一样,它存储的也是逻辑关系为 "一对一" 的数据,但它对数据入队和出队的要求是 "先进