问个“数据结构”始终不明白的问题,望帮忙回答下 !!

来源:百度知道 编辑:UC知道 时间:2024/06/08 03:36:33
数据结构第3章不是有关于“表达式求值”的问题吗,书上是用后缀式来求值,我的 问题是 :
假如要求表达式:a*b+(c-d/e)*f的值,写成后缀式就是:ab*cde/-f*+是把,我把后缀式写到个数组或栈里头,电脑会自动把ab*cde/-f*+改为a*b+(c-d/e)*f去求吗?它怎么改的啊?还有假如哪位仁兄有表达式求值的C语言程序能复制下给我吗?小弟急用,感激不尽!!
1楼的,我是不明白才来提问啊,那你说怎么写呢?

什么叫“自动”,哪来的“自动”,不就是通过编写的程序来进行这个转换么,这不就是数据结构要学的东西么

你学的是什么数据结构啊,我也学过啊,怎么没有看到你说的那样啊

改为后缀(ab*cde/-f*+)的好处是电脑能够一次读取就可以算出结果,当读到ab时,内存中存着ab两变量,之后是*,那么就把内存中改为一变量:a*b的值,之后是(a*b),c,d,e四变量,当读到/号时内存变量改为(a*b),c,(d/e)……
整个过程写出来就是:
2:a、b
1:(a*b)
4:(a*b)、c、d、e
3:(a*b)、c、(d/e)
2:(a*b)、(c-d/e)
1:((a*b)+(c-d/e))
当预见运算符时,与内存中最后的两个变量去计算