文件名称:带括号的算术表达式求值
文件大小:3KB
文件格式:TXT
更新时间:2013-01-16 13:30:09
算数表达式 求值 栈 c 算法
使用2个堆栈分别用来存放数据和运算符。在输入的表达式前后均加上“#”作为判断表达式结束的标记。输入的表达式存入一个char类型的数组中。依次访问数组中的元素,当当前位位置的下个位置仍为数字时要对数据进行处理,直到下位置是符号时再将数据存入数据堆栈中。若当前位置是运算符,则与符号堆栈中的符号进行优先级比较。若当前位置的优先级高,则从数据堆栈中弹出2个数据用当前位置的运算符运算,再将结果存入数据堆栈。否则将起入栈。当符号堆栈里的元素和当前位置的元素都是“#”时,运算结束。数据堆栈里的元素就是最后的运算结果。