重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇文章为大家展示了PHP如何使用栈完成高级计算器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
我们一直强调网站设计制作、网站制作对于企业的重要性,如果您也觉得重要,那么就需要我们慎重对待,选择一个安全靠谱的网站建设公司,企业网站我们建议是要么不做,要么就做好,让网站能真正成为企业发展过程中的有力推手。专业网络公司不一定是大公司,创新互联作为专业的网络公司选择我们就是放心。
当出现'3+4*3-2'这个字符串的时候,我们头脑中会有很多的办法去计算这个结果,比如eval/正则等等方法,但是今天小梦给大家讲的是它的底层的实现原理,栈
代码思路如下:
1、一个数栈,存放数字,一个符号栈,存放运算符
2、循环扫描字符串,如果是数字就入数字栈,如果是运算符将分为以下情况:
(1)如果符号栈为空将直接入栈
(2)如果当前的运算符(即将入栈的运算符)的优先级,小于等于符号栈顶部运算符的优先级 ,将在数字栈中出栈两个数字然后在符号栈中出栈一个运算符进行计算,之后将计算结果存入数字栈,运算符存入符号栈
(3)如果运算符的优先级大于符号栈顶部运算符,那么将直接入栈
3、计算结果:如果符号栈为空,将计算完毕,计算步骤为:从数字栈出栈两个数字和符号栈中出栈一个符号栈进行计算,然后存入数字栈,之后运算结果在数字栈中
上代码了:
over,完毕了
上述内容就是PHP如何使用栈完成高级计算器,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。