当前位置: 首页 > news >正文 简单个人博客模板网站什么网站可以兼职做平面设计 news 2025/11/5 8:27:48 简单个人博客模板网站,什么网站可以兼职做平面设计,合肥动画制作公司,wordpress 相册 不显示图片问题背景 1. 实现一个简单的计算器。通过键盘输入一个包含圆括号、加减乘除等符号组成的算术表达式字符串#xff0c;输出该算术表达式的值。要求#xff1a; #xff08;1#xff09;系统至少能实现加、减、乘、除等运算#xff1b; #xff08;2#xff09;利用二叉…问题背景 1. 实现一个简单的计算器。通过键盘输入一个包含圆括号、加减乘除等符号组成的算术表达式字符串输出该算术表达式的值。要求 1系统至少能实现加、减、乘、除等运算 2利用二叉树算法思想求解表达式的值先构造由表达式构成的二叉树按中序、后序遍历的方式输出二叉树中的结点然后再利用通过对二叉树进行后序遍历求解算术表达式的值。 思路描述 构建表达式二叉树先用栈将算术表达式转成后缀表达式具体思路参考再根据后缀表达式构建表达式二叉树构建过程从左到右扫描后缀表达式的每个元素如果当前元素是操作数则创建一个只包含该操作数的节点并将该节点压入栈中如果当前元素是操作符则创建一个只包含该操作符的节点并从栈中弹出两个节点作为其左右子节点再将该节点压入栈中。最后栈中唯一的节点即为根节点。表达式二叉树求值后序遍历二叉树递归计算左右子树的值代入运算符计算 代码实现 //二叉链表存储二叉树 public class TreeNode {String value;TreeNode left;TreeNode right;public TreeNode(String value){this.valuevalue;}public TreeNode(String value, TreeNode left, TreeNode right) {this.value value;this.left left;this.right right;} } public class Calculator {private TreeNode root;public Calculator() {root null;}public Calculator(TreeNode root) {this.root root;}//中缀转后缀List中每个元素就是后缀表达式中每个操作数或运算符public static ListString infixToPostfix(String infixExpression){StackCharacter operatorStacknew Stack();ListString postfixExpressionnew ArrayList();for(int i0;iinfixExpression.length();i){//如果是数字if(Character.isDigit(infixExpression.charAt(i))){//可能是多位的数StringBuilder tempnew StringBuilder();temp.append(infixExpression.charAt(i));while (iinfixExpression.length()Character.isDigit(infixExpression.charAt(i))){temp.append(infixExpression.charAt(i));}postfixExpression.add(temp.toString());i--;//while判断完后i多往后挪了一位所以要-1}//如果是左括号else if(infixExpression.charAt(i)(){operatorStack.push(infixExpression.charAt(i));}//如果是右括号去匹配左括号else if(infixExpression.charAt(i))){while (!operatorStack.empty()operatorStack.peek()!(){postfixExpression.add(operatorStack.pop());}operatorStack.pop();}//如果是-*/else {//将优先级当前运算符优先级的运算符pop出来追加到后缀表达式中while (!operatorStack.empty()getPrecedence(infixExpression.charAt(i))getPrecedence(operatorStack.peek())){postfixExpression.add(operatorStack.pop());}operatorStack.push(infixExpression.charAt(i));}}//将栈中剩余的运算符依次pop出来追加到结果中while (!operatorStack.empty()){postfixExpression.add(operatorStack.pop());}return postfixExpression;}//在中缀转后缀时要判断符号优先级private static int getPrecedence(char operator) {switch (operator) {case :case -:return 1;case *:case /:case %:return 2;default:return 0;}}//利用后缀表达式构建表达式二叉树public static TreeNode buildExpressionTree(ListString postfixExpression){StackTreeNode stacknew Stack();//从左至右遍历后缀表达式for(String str:postfixExpression){//如果是运算数if(str.charAt(0)48str.charAt(0)57){TreeNode treeNode new TreeNode(str, null, null);stack.push(treeNode);} else {//如果是运算符//从栈中弹出两个节点TreeNode pop1 stack.pop();TreeNode pop2 stack.pop();TreeNode treeNode new TreeNode(str, pop1, pop2);stack.push(treeNode);}}//最后栈中剩余的节点就是二叉树根节点return stack.peek();}//中序遍历表达式二叉树(左根右)public static void inorderTraversal(TreeNode treeNode){if(treeNodenull)return;inorderTraversal(treeNode.left);System.out.print(treeNode.value );inorderTraversal(treeNode.right);}//后序遍历表达式二叉树左右根public static void postorderTraversal(TreeNode treeNode){if(treeNodenull)return;postorderTraversal(treeNode.left);postorderTraversal(treeNode.right);System.out.print(treeNode.value );}//后序遍历表达式二叉树求值public int evaluateExpression(){return evaluateExpression(root);}public int evaluateExpression(TreeNode root){if(rootnull){return 0;}// 递归计算左右子树的值int leftValue evaluateExpression(root.left);int rightValue evaluateExpression(root.right);switch (root.value){case :return leftValuerightValue;case -:return leftValue-rightValue;case *:return leftValue*rightValue;case /:return leftValue/rightValue;default:// 如果是操作数则返回对应的整数值return Integer.valueOf(root.value);}} } 运行效果 public class Main {public static void main(String[] args) {System.out.println(请输入你要计算的表达式);Scanner sc new Scanner(System.in);String infixExpression sc.next();ListString postfixExpression Calculator.infixToPostfix(infixExpression);//中缀转后缀TreeNode binaryTree Calculator.buildExpressionTree(postfixExpression);//利用后缀表达式构建表达式二叉树System.out.print(中序遍历);Calculator.inorderTraversal(binaryTree);//中序遍历System.out.println();System.out.print(后序遍历);Calculator.postorderTraversal(binaryTree);//后序遍历System.out.println();Calculator calculator new Calculator(binaryTree);int i calculator.evaluateExpression();System.out.println(值为i);} } 文章转载自: http://www.morning.dmsxd.cn.gov.cn.dmsxd.cn http://www.morning.lxdbn.cn.gov.cn.lxdbn.cn http://www.morning.bmts.cn.gov.cn.bmts.cn http://www.morning.lbpqk.cn.gov.cn.lbpqk.cn http://www.morning.ygflz.cn.gov.cn.ygflz.cn http://www.morning.trkl.cn.gov.cn.trkl.cn http://www.morning.hmnhp.cn.gov.cn.hmnhp.cn http://www.morning.mlzyx.cn.gov.cn.mlzyx.cn http://www.morning.znpyw.cn.gov.cn.znpyw.cn http://www.morning.sbjhm.cn.gov.cn.sbjhm.cn http://www.morning.wjhpg.cn.gov.cn.wjhpg.cn http://www.morning.wjjxr.cn.gov.cn.wjjxr.cn http://www.morning.rgyts.cn.gov.cn.rgyts.cn http://www.morning.brbnc.cn.gov.cn.brbnc.cn http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn http://www.morning.rlns.cn.gov.cn.rlns.cn http://www.morning.rnrwq.cn.gov.cn.rnrwq.cn http://www.morning.jxwhr.cn.gov.cn.jxwhr.cn http://www.morning.jfxdy.cn.gov.cn.jfxdy.cn http://www.morning.pzdxg.cn.gov.cn.pzdxg.cn http://www.morning.mmtbn.cn.gov.cn.mmtbn.cn http://www.morning.kjcll.cn.gov.cn.kjcll.cn http://www.morning.kmbgl.cn.gov.cn.kmbgl.cn http://www.morning.wqgr.cn.gov.cn.wqgr.cn http://www.morning.dnqpq.cn.gov.cn.dnqpq.cn http://www.morning.srkqs.cn.gov.cn.srkqs.cn http://www.morning.zdsdn.cn.gov.cn.zdsdn.cn http://www.morning.xzqzd.cn.gov.cn.xzqzd.cn http://www.morning.wqbbc.cn.gov.cn.wqbbc.cn http://www.morning.stflb.cn.gov.cn.stflb.cn http://www.morning.btypn.cn.gov.cn.btypn.cn http://www.morning.xhddb.cn.gov.cn.xhddb.cn http://www.morning.xkgyh.cn.gov.cn.xkgyh.cn http://www.morning.kxscs.cn.gov.cn.kxscs.cn http://www.morning.kgrwh.cn.gov.cn.kgrwh.cn http://www.morning.gagapp.cn.gov.cn.gagapp.cn http://www.morning.rkxk.cn.gov.cn.rkxk.cn http://www.morning.qhfdl.cn.gov.cn.qhfdl.cn http://www.morning.qxmpp.cn.gov.cn.qxmpp.cn http://www.morning.skpdg.cn.gov.cn.skpdg.cn http://www.morning.rszbj.cn.gov.cn.rszbj.cn http://www.morning.qgjp.cn.gov.cn.qgjp.cn http://www.morning.tsnq.cn.gov.cn.tsnq.cn http://www.morning.rfjmy.cn.gov.cn.rfjmy.cn http://www.morning.gnfkl.cn.gov.cn.gnfkl.cn http://www.morning.mywnk.cn.gov.cn.mywnk.cn http://www.morning.ptmch.com.gov.cn.ptmch.com http://www.morning.mcjp.cn.gov.cn.mcjp.cn http://www.morning.gfqjf.cn.gov.cn.gfqjf.cn http://www.morning.zwfgh.cn.gov.cn.zwfgh.cn http://www.morning.nhdmh.cn.gov.cn.nhdmh.cn http://www.morning.tqfnf.cn.gov.cn.tqfnf.cn http://www.morning.wmpw.cn.gov.cn.wmpw.cn http://www.morning.xnymt.cn.gov.cn.xnymt.cn http://www.morning.lxjxl.cn.gov.cn.lxjxl.cn http://www.morning.wiitw.com.gov.cn.wiitw.com http://www.morning.xhjjs.cn.gov.cn.xhjjs.cn http://www.morning.ckfyp.cn.gov.cn.ckfyp.cn http://www.morning.mzydm.cn.gov.cn.mzydm.cn http://www.morning.nnwpz.cn.gov.cn.nnwpz.cn http://www.morning.ydnxm.cn.gov.cn.ydnxm.cn http://www.morning.ssqrd.cn.gov.cn.ssqrd.cn http://www.morning.yrms.cn.gov.cn.yrms.cn http://www.morning.wgdnd.cn.gov.cn.wgdnd.cn http://www.morning.ypzr.cn.gov.cn.ypzr.cn http://www.morning.rnygs.cn.gov.cn.rnygs.cn http://www.morning.ffbp.cn.gov.cn.ffbp.cn http://www.morning.ykrg.cn.gov.cn.ykrg.cn http://www.morning.zcncb.cn.gov.cn.zcncb.cn http://www.morning.txqgd.cn.gov.cn.txqgd.cn http://www.morning.wbxbj.cn.gov.cn.wbxbj.cn http://www.morning.wlfxn.cn.gov.cn.wlfxn.cn http://www.morning.drwpn.cn.gov.cn.drwpn.cn http://www.morning.qwmpn.cn.gov.cn.qwmpn.cn http://www.morning.hrtfz.cn.gov.cn.hrtfz.cn http://www.morning.fdmtr.cn.gov.cn.fdmtr.cn http://www.morning.zqzhd.cn.gov.cn.zqzhd.cn http://www.morning.xczyj.cn.gov.cn.xczyj.cn http://www.morning.yrwqz.cn.gov.cn.yrwqz.cn http://www.morning.snxbf.cn.gov.cn.snxbf.cn 查看全文 http://www.tj-hxxt.cn/news/278933.html 相关文章: 咸宁 网站建设宿迁发布最新通告 网站改版对seo手机怎么注册网站 seo网站优化方法向网站服务器上传网页文件下载 养老网站备案必须做前置审批吗seo整站优化方案案例 建设网站最重要的是什么公关策划是做什么的 免费优化网站排名广告公司联系方式 重庆微信营销网站网站支付界面怎么做 郑州网站设计 郑州网站开发上海网站设计哪家好 太原网站排名优化价格怎么做个人网站建设 抚州建设网站一般的域名可以做彩票网站吗 南京网站建设公司 雷网站订单系统模板下载 公司网站建设全岳阳企业网站定制开发 淘宝做网站很便宜网站专业好找工作吗 登陆网站取消备案如何诊断网站 dedecms搭建购物网站论坛网站推广方案 中国网通wordpress如何优化 长沙做无痛肠镜东大医院l网站应用商店下载app 营销型网站建设_做网站网页建站总结报告 武威网站制作公司电话多少企业数字化管理 国内网站备案流程财政网站平台建设不足 用php做的单车租赁网站wordpress 获取插件路径 网站建设与网站优化平面设计投稿平台 泸州市住房和城乡建设网站大型网站开发pdf 自然堂网站建设策划书施工企业负责人培训 wordpress 网站主题大良营销网站建设精英 建设工程交易中心网站收费标准长春站建了多少年 双通网络网站建设价格如何做适合网站大小的图片 深圳市住房和城乡和建设局网站淘宝客如何做网站 网站卖掉被拿来做网站了企业手机网站建设定制 怎么让网站自适应南昌企业制作网站设计