栈和队列
栈和队列是限定插入和删除只能在表的端点进行的线性表
栈的特点
后进先出
求解一下算法需要利用“栈”
队列的特点
先进先出
利用队列
可解决排队问题
栈
只能在表尾进行插入或删除操作的线性表
;
又称为后进先出
的线性表。
操作
进栈
思考题
栈的特点
逻辑结构:与线性表相同,仍为一对一
关系。
存储结构:顺序栈
或链栈
存储均可,但以顺序栈更常见。
实现方式:关键是编写入栈
和出栈
函数,具体实现依顺序栈或链栈的不同而不同。
栈与一般线性表的区别
1.一般线性表
逻辑结构:一对一
存储结构:顺序表、链表
运算规则:随机存取
2.栈
逻辑结构:一对一
存储结构:顺序栈、链栈
运算规则:后进先出(LIFO)
队列
是一种先进先出(FIFO)
的线性表。在表一端插入(表尾),在另一端(表头)删除。图示如下
队列的特点
头删尾插
逻辑结构:与线性表相同,仍为一对一
关系
存储结构:顺序队
或链队
,以循环顺序队列更常见。
运算规则:队首队尾运算,依照先进先出
原则。
实现方式:关键是掌握入队
和出队
操作,具体实现依顺序队
或链队
的不同而不同。
参考文献:数据结构与算法基础(青岛大学-王卓)