当前位置: 首页 > news >正文

网站建设北京海淀wordpress 仿微信主题

网站建设北京海淀,wordpress 仿微信主题,做海外视频的网站有哪些,自己如何做微信小程序题目描述 中缀表达式是一个通用的算术或逻辑公式表示方法#xff0c;操作符是以中缀形式处于操作数的中间#xff08;例#xff1a;3 4#xff09;#xff0c;中缀表达式是人们常用的算术表示方法。后缀表达式不包含括号#xff0c;运算符放在两个运算对象的后面#…题目描述 中缀表达式是一个通用的算术或逻辑公式表示方法操作符是以中缀形式处于操作数的中间例3 4中缀表达式是人们常用的算术表示方法。后缀表达式不包含括号运算符放在两个运算对象的后面所有的计算按运算符出现的顺序严格从左向右进行不再考虑运算符的优先规则如(2 1) * 3 即2 1 3 *。利用栈结构将中缀表达式转换为后缀表达式。(测试数据元素为单个字符) 输入 中缀表达式 输出 后缀表达式 样例输入复制 A(B-C/D)*E 样例输出复制 ABCD/-E* 这个题我看到解法当中有通过编译原理当中的文法表达式来处理的也有用堆栈模拟的。 我的方案是用递归。 重点是要把表达式按优先级进行切割。我是这么想的对于表达式AB*C-(D*F*(FBC*D)-(A*H))*T先按优先级最低的、-号进行切分但是主要切分时要把括号内的表达式当成整体于是可以切割成AB*C(D*F*(FBC*D)-(A*H))*T三个子表达式【如果、-号无法切割就扫描*、/能不能切割还是不能就说明要么这个表达式只有一个原子要么就是整个表达式都用括号包起来了。】这里我们可以继续递归切割A已经是原子无需切割。第二个表达式可以继续切割成B和C这样每次切割我们可以得到两个列表一个用来装切割的表达式一个用来装两个表达式之间的符号。最后假设我们的处理函数为f那么对于这个例子实际上我要求f(AB*C-(D*F*(FBC*D)-(A*H))*T)根据刚才的分析显然他可以通过递归化简为f((D*F*(FBC*D)-(A*H))*T)f(A)f(B*C)-这样不断的递归f当中的表达式最后合并答案就是我们需要的逆波兰表达式可以观看代码#define _CRT_SECURE_NO_WARNINGS #includestdio.h #includestring.h #includemath.h #includealgorithm #includevector #includestring #includemap #includequeue #includeiostream #includelist #includeset #includestackusing namespace std;bool expr_cut(string root_expr,vectorstring expr_list,vectorchar op_list) {stackint s;int lenroot_expr.size();if(len1)return true;string expr_now;bool first_flagfalse,second_flagfalse;for(int i0;ilen;i){if((root_expr[i] || root_expr[i]-) s.empty()){expr_list.push_back(expr_now);op_list.push_back(root_expr[i]);expr_now.clear();first_flagtrue;continue;}else if(root_expr[i](){s.push(i);}else if(root_expr[i])){s.pop();}expr_nowexpr_nowroot_expr[i];}expr_list.push_back(expr_now);if(first_flag)return false;expr_list.clear(),op_list.clear(),expr_now.clear();for(int i0;ilen;i){if((root_expr[i]* || root_expr[i]/) s.empty()){expr_list.push_back(expr_now);op_list.push_back(root_expr[i]);expr_now.clear();second_flagtrue;continue;}else if(root_expr[i](){s.push(i);}else if(root_expr[i])){s.pop();}expr_nowexpr_nowroot_expr[i];}expr_list.push_back(expr_now);if(second_flag)return false;expr_list.clear(),op_list.clear(),expr_now.clear();root_exprroot_expr.substr(1,root_expr.size()-2);return expr_cut(root_expr,expr_list,op_list); }string f(string root_expr) {vectorstring expr_list;vectorchar op_list;bool is_atomexpr_cut(root_expr,expr_list,op_list);if(is_atom)return root_expr;else{string result;string first_itemf(expr_list[0]);for(int i1;iexpr_list.size();i){string second_itemf(expr_list[i]);resultfirst_itemsecond_itemresultop_list[i-1];first_itemsecond_item;}return result;} }int main() {string expr;while(cinexpr){string resultf(expr);coutresult;}return 0; }/* AB*C-(D*F*(FBC*D)-(A*H))*T (AB*C) */
http://www.dnsts.com.cn/news/140556.html

相关文章:

  • 小说网站怎么做app汕尾网站网站建设
  • 榆林市城乡建设规划局网站网站开发结构有
  • 应用frontpage制作教学网站网络营销是什么网络
  • 杭州设计 公司 网站建设做网站运营工资是不是很低
  • 汉高建设公司网站wordpress主题在哪里设置
  • 自己做网站网页归档全屏网站模版
  • 市桥网站建设培训学校公司网站制作费用多少
  • 建设银行网站怎么登陆密码百度怎么做关键词优化
  • 天津河西做网站贵吗企业网站建设尚未实现宣传功能
  • 做网站的规划和设想网站建设公司普遍存在劣势
  • 谷歌云 阿里云 做网站开源php建站系统
  • 开发网站用什么软件保洁公司网站模板
  • 网站建设的经营范围公司内部网站怎么建设
  • 珠海 网站 设计高质量网站外链建设大揭秘
  • 广西南宁市住房和城乡建设局网站百度一下移动版首页
  • 网站建设的种类mq网站开发
  • 公众微信绑定网站帐号ftp网站服务器
  • 做网站推广运营前景重庆百度快照优化排名
  • 为某公司或企业做的门户网站wordpress 糗百
  • 智慧团建网站什么时候维护好网站开发年终总结
  • 域名到期换个公司做网站WordPress访问ip记录
  • 手工木雕网站建设策划书网站开发商业机密
  • 安家堡网站建设哈尔滨服务专业的建站
  • 巧家县城乡建设局网站管理系统主页
  • 广州企业网站建设哪家好免费网站建设市场
  • 亚马逊的海外网站怎么做坛墨网站建设
  • 网站打不开用什么浏览器百度app安装
  • 网站检测中心毕业设计ppt答辩模板
  • 网站建设现在主要做些什么wordpress扫码才能访问
  • 深圳手机网站开发如何做产品展示网站