3.1.5.2 括号匹配问题
在文字处理软件或编译程序设计时,常常需要检查一个字符串或一个
表达式中的括号是否相匹配?
匹配思想:从左至右扫描一个字符串(或表达式),则每个右括号将与最
近遇到的那个左括号相匹配。则可以在从左至右扫描过程中把所遇到的左
括号存放到堆栈中。每当遇到一个右括号时,就将它与栈顶的左括号(如果
存在)相匹配,同时从栈顶删除该左括号。 算法思想:设置一个栈,当读到
左括号时,左括号进栈。当读到右括号时,则从栈中弹出一个元素,与读
到的左括号进行匹配,若匹配成功,继续读入;否则匹配失败,返回
FLASE。
3.2 队 列
3.2.1 队列及其基本概念
1 队列的基本概念
队列(Queue):也是运算受限的线性表。是一种先进先出(First In First
Out ,简称FIFO)的线性表。只允许在表的一端进行插入,而在另一端进行
删除。 队首(front) :允许进行删除的一端称为队首。 队尾(rear) :允许进
行插入的一端称为队尾。