600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 数据结构:用栈实现表达式的转换(文字描述+详细步骤示例)——中缀转后缀

数据结构:用栈实现表达式的转换(文字描述+详细步骤示例)——中缀转后缀

时间:2022-10-28 02:00:56

相关推荐

数据结构:用栈实现表达式的转换(文字描述+详细步骤示例)——中缀转后缀

中缀转后缀

从左到右扫描这个中缀表达式,如果遇到操作数,就直接写出来;如果遇到运算符,就将其入栈。

入栈之前,首先将当前运算符与栈顶运算符比较优先级,如果当前运算符优先级小于等于栈顶运算符的优先级,则将栈顶运算符出栈,并写入结果表达式中,(这是一个循环的过程),然后继续和新的栈顶运算符比较,这样一直进行下去,直到比较结果为大于,则将扫描到的运算符入栈。栈空时,直接将运算符入栈。

对于表达式中含有括号的情况,当遇到左括号,直接入栈。当栈顶为左括号时,所有扫描到的运算符都入栈。当扫描到右括号时,则进行一系列出栈操作,将当前栈中从栈顶到左括号的元素全部出栈,并将其写入结果表达式中(括号除外,出栈的括号直接扔掉)。

最后,当扫描完表达式中所有字符时,如果栈中还有运算符,则将其全部出栈,并写入结果表达式中。

举个例子

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。