前几天去笔试了IDG,最后一题就是代码题表达式求值。 基本思路呢就是利用栈来进行运算,如果是数字就写入栈中,如果是运算符分两种情况 如果栈顶运算符的优先级比当前运算符优先级高,出栈并选择数据栈的2个元素进行计算并把计算结果写入数据栈中,新的运算符入栈. 代码如下 package com.pw.javase.study20140917; import java.util.Stack; /* * FileName:JavaSEPro * Description:表达式求值 * Created by:pengwei * date:2014/9/22 14:04 */ public class Calculate { //需要运算的表达式 private String expression; //需要运算的数字栈 private Stack digitalStack; //需要运算的数字栈 private Stack operatorStack; public Calculate(String expression)
数据结构
标签: 数据结构