操作系统寒武纪 - 会让企业IT高兴吗?
1430
2022-08-27
求解逆波兰表达式的值,回文数字的判断&&栈的应用
常规数学表达式的前缀表达式称为波兰表示式,后缀表达式又称逆波兰表达式。对于逆波兰表达式的求解可借助于栈,把数字全部压入栈中,遇到计算符号再弹出两个数,计算结果压入栈中,重复这个过程,最后的数字就是计算结果。
例子: 3-(4+8/2)*3=-21 48/3+12-6*2+7=23
输入文件内容:
3 4 8 2 / + 3 * - EOF 48 3 / 12 + 6 2 * - 7 + EOF
#include 回文数字:反着念和正着念的结果一样。这又和栈联系到了一起。把数字存储到栈中,如果新的数字和栈顶数字一样或新的数字和栈顶数字的“顶下"数字一样,那么涉及的数字都弹出,若栈中没有了数字则是一个回文数,否则不是。 回文数字的判断: int stack[151],top=0;bool judge(){ top=0; int a; while(cin>>a){ if(a==-1)break; if(top>0&&a==stack[top])top--; else if(top>1&&a==stack[top-1]){ top=top-2; } else stack[++top]=a; } if(top==0)return true; else return false;}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~