栈和队列

XMUT.SE.DS2022年10月2日小于 1 分钟

栈和队列

特殊的线性表

我们之前学习的线性表,可以允许在表的任意位置插入和删除元素。 如果对这点作出限制,只允许在特定位置进行添加和删除,就得到栈和队列。

栈只允许在线性表的某一端(栈顶)进行添加和删除,另一端不允许操作。 而队列只允许在某一端(队尾)进行添加,在另一端(队头)进行删除。

和之前顺序表和链表,我们考虑的是如何在这些数据结构上执行算法。 也就是说我们更多关注的是,如何操作这些数据结构的内部元素。

但对栈和队列而言,由于元素无法进行内容调整,也仅能在有限的位置进行增删,因此 我们关注的并不是如何操作,而是如何利用他们的这种特性来帮助我们实现一些算法。

实际上栈和队列也是非常常用并且应用非常广泛的数据结构。