目录
3.1 栈和队列的定义和特点1
1、普通线性表的插入和删除操作
2、栈和队列的定义和特点
栈和队列是两种常用的、重要的数据结构。
栈和队列是限定插入和删除只能在表的“端点”进行的线性表。
栈和队列是线性表的子集(是插入和删除位置受限的线性表)。
线性表 | 栈 | 队列 |
Insert(L, i, x) 1 <= i <= n + 1 |
Insert(S, n + 1, x) | Insert(Q, n + 1, x) |
Delete(L, i) 1 <= i <= n |
Delete(S, n) | Delete(Q, 1) |
3、栈的例子
栈——后进先出。
4、栈的应用
由于栈的操作具有后进先出的固有特性,使得栈成为程序设计中的有用工具。另外,如果问题求解的过程具有“后进先出”的天然特性的话,则求解的算法中也必然需要利用“栈”。
数制转换;表达式求值;括号匹配的检验;八皇后问题;行编辑程序;函数调用;迷宫求解;递归调用的实现。
5、队列的例子
队列——先进先出。