1.栈和队列的定义和特点
1.1 栈
- 定义:只能在表的一端(栈顶)进行插入和删除运算的线性表。
- 逻辑结构:与线性表相同,仍为一对一关系。
- 存储结构:用顺序栈或链栈存储均可,但以顺序栈更常见。
- 运算规则:只能在栈顶运算,且访问结点时依照后进先出(LIFO)或先进后出(FILO)的原则。
- 实现方式:关键是编写入栈和出栈函数,具体实现依顺序栈或链栈的不同而不同。基本操作有入栈、出栈、读栈顶元素值、建栈、判断栈满、栈空等。
1.2 队列
- 定义:只能在表的一端(队尾)进行插入,在另一端(队头)进行删除运算的线性表。
- 逻辑结构:与线性表相同,仍为一对一关系。
- 存储结构:用顺序队列或链队存储均可。
- 运算规则:先进先出(FIFO)。
- 实现方式:关键是编写入队和出队函数,具体实现依顺序队或链队的不同而不同。
2.栈、队列与一般线性表的区别
- 栈、队列是一种特殊(操作受限)的线性表,区别:仅在于运算规则不同。