已知操作符包括“+”、“一”、“*”、“/”、“(’’和“)”。将中缀表达式a+b-a*((c+d)/e—f)+g转换为等价的后缀表达式ah+acd+e/f一*一g+时,用栈来存放暂时还不能确定运算次序的操作符。若栈初始时为空,则转换过程中同时保存在栈中的

admin2014-01-14  29

问题 已知操作符包括“+”、“一”、“*”、“/”、“(’’和“)”。将中缀表达式a+b-a*((c+d)/e—f)+g转换为等价的后缀表达式ah+acd+e/f一*一g+时,用栈来存放暂时还不能确定运算次序的操作符。若栈初始时为空,则转换过程中同时保存在栈中的操作符的最大个数足

选项 A、5
B、7
C、8
D、11

答案A

解析 根据题目要求,栈中只存储操作符“+”,“-”,“*”,“/”,“(”和“)”,并不存储字母,这一点一定要看清楚。根据中缀表达式a+h—a*((c+d)/e—f)+g,可以利用栈将其转换为后缀表达式ab+acd+e/f一*一g+,在转换过程中,栈中的操作符最多有5个。这种情况出现在第二个“+”号人栈后,栈中的操作符分别为:“一”,“*”,“(”,“(”,“+”。
转载请注明原文地址:https://kaotiyun.com/show/fqxi777K
0

最新回复(0)