最好能给一段代码示例,谢谢!

解决方案 »

  1.   

    这东西,要写一段比较郁闷的代码。可能需要用到两个堆栈——我记得某本数据结构书上有算法。不过我没心情去找也没心情是想了。
    那本数据结构书是绿皮的,好像是清华大学出版社的,有点老了。四五年前我们的教材。
      

  2.   

    这本质上就是中缀表达式求值问题。如果只给出代码,不说明算法也没有意义。可以参考《数据结构C++语言描述》第七章第四节。这个地方也可以看算法说明:http://www.open.ha.cn/kfjy/sjjg/04files/frame.htm
    至于说x不知道,这根本不算问题,在计算y(x)的时候,显然要给x指定值,如y(5),这个时候,碰到x时,直接用5代入就可以了。
    另外,一般书上给出的例子都是+-*/等单字符运算符,这里有sin,cos等多字符运算符,这个在分析表达式的时候注意一下,有一定字符串解析经验就可以办到。