PHP 计算字符串表达式(三)

  • A+
所属分类:PHP 数据结构

       在上一篇中,我们利用一个字符栈可以将中缀表达式转换为后缀表达式,再利用数字栈计算后缀表达式。因此,我们可以在此基础上,使用另一种方法计算字符串表达式。

       首先,我们创建两个栈,一个字符栈(存储操作符),一个数字栈(存储数字)。在循环获取字符的过程中,需遵从以下规则

            ①如果元素为数字,则直接将数字存入数字栈中;

           ②如果为左括号,则将左括号存入字符栈中;

           ③如果为右括号,则字符栈出栈,并在出栈的过程中,从数字栈取数字进行运算,并将结果入数字栈,直至字符栈栈顶为左括号为至;

           ④如果为运算符,则判断字符与字符串栈栈顶优先级,如小于,则字符栈出栈并运算数字栈,反之,则直接入栈。

       最后,判断字符栈是否为空,如为空,则出栈,并在出栈过程中运算数字栈,数字栈栈顶即为运算结果。

       下载地址

       

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: