收藏 分享(赏)

后缀表达式求值.doc

上传人:kpmy5893 文档编号:8264709 上传时间:2019-06-17 格式:DOC 页数:4 大小:25KB
下载 相关 举报
后缀表达式求值.doc_第1页
第1页 / 共4页
后缀表达式求值.doc_第2页
第2页 / 共4页
后缀表达式求值.doc_第3页
第3页 / 共4页
后缀表达式求值.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、#include #include using namespace std;char ex100;/存储后缀表达式char str100;/存储算术表达式char stack100;/作为栈使用char ch;/当前判断的字符int i=0;/i 为算术表达式 str 的下标int t;/t 为后缀式 ex 的下标int top=0;/top 为栈顶void trans();/转换函数void compute();/计算后缀式的值void trans()/将中缀式转换为后缀式coutstri;/开始扫描t=1;i=1;ch=stri;i+;/i 指向当前扫描字符的下一位while(ch!=#)

2、/逐个扫描,直至遇到#号结束switch(ch) case(:/遇到(,进栈top+;stacktop=ch;break; case):/遇到),将靠近栈顶的第一个左括号上面的运算符全部依次弹出,送至后缀式队列后,再丢弃左括号。while(stacktop!=()ext=stacktop;top-;t+;top-;/丢弃(break;case+:case-:while(top!=0 top-;t+;top+;/因为 top 的初值为 0stacktop=ch;break;case*:case/:while(stacktop=*| stacktop=/)ext=stacktop;top-;t+;top+;stacktop=ch;break;/*注意!除操作数外,其它符号都要用到栈*/default:while(ch=0 /将数字字符转化为对应的数值,*10 是与大于 10 的数值时要进位ch=ext;t+;top+;stacktop=d;/栈顶存放当前计算结果/switch 结束ch=ext;/跳过空格符,扫描下一个运算符或操作数t+;cout“n 计算结果为:“stacktopendl;void main()trans();compute();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报