第3章栈和队列(编辑修改稿)内容摘要:

可,然后把运算结果再压入栈 S中;否则,读入的字符必为操作数的最高位数字,应把后面连续的若干个字符 (直到出现空格 )转换成整数,并把它压人到栈 S中。 依次扫描每一个字符并进行上述处理,直到遇到结束符 ‘ @ ’ 为止,表明后缀表达式计算完毕,最终结果保存在栈中,并且栈中仅存这一个值,把它弹出返回即可。 栈 若遇到的是运算符,当该运算符的优先级大于栈顶运算符的优先级 (加减运算符的优先级设定为 1,乘除运算符的优先级设定为 2,在栈中保存的特殊运算符‘ @ ’ 和 ‘ ( ’ 的优先级设定为 0)时,表明该运算符的后一个运算对象还没有被扫描并放入到 s2串中,应把它暂存于运算符栈中,待它的后一个运算对象从sl串中读出并写入到 s2串中后,再令其出栈并写入 s2串中;若遇到的运算符的优先级小于等于栈顶运算符的优先级,这表明栈顶运算符的两个运算对象已经被保存到 s2串中,应将栈顶运算符退栈并写入到 s2串中,对于新的栈顶运算将仍继续进行比较和处理,直到被处理的运算符的优先级大于栈顶运算符的优先级为止,然后令该运算符进栈即可。 栈 按照以上过程扫描到中缀表达式结束符 ‘ @ ’时,把栈中剩余的运算符依次退栈并写入到后缀表达式中,再向 s2写入表达式结束符 ‘ @ ’和字符串结束符 ‘ \0’,整个转换过程就处理完毕,在 s2中就得到了转换成的后缀表达式。 队列  队列的定义 队列也是一种特殊的线性表。 它所有的插入操作均限定在表的一端进行,而所有的删除操作则限定在表的另一端进行。 允许删除操作的一端称为队头 (Front),允许插入操作的一端称为队尾 (Rear)。  队列的基本操作 初始化空队列、判队列空、入队列、出队列、取对头元素、队列置空、求队列中元素个数 队列  队列的顺序存储结构 顺序存储结构的队列称为顺序队列。 通常用一个向量空。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。