有一个字符型的表达式(a+b)*(c+d),要求展开得到a*c+a*d+b*c+b*d,请问用C++该如何处理
有一个字符型的表达式(a+b)*(c+d),要求展开得到a*c+a*d+b*c+b*d,请问用C++该如何处理
日期:2011-03-13 17:07:30 人气:3
设置两个栈,一个数据栈,一个运算符栈,由左边读取,
第一个"("写入运算符栈
第二个a写入数据栈
第三个“+”写入一个运算符栈
第四个b 查看下一位不是* / 而且运算符栈第一位是+号那么就 “a” “+” 出栈,计算出结果(假设为A)来后放回数据栈
第五个“)”出栈"(", ”A“ 与”)“计算后A继续放回数据栈。。。。
一时讲不清,自己看书吧