知识大全 数据结构考研分类复习真题 第三章 答案[9]

Posted 表达式

篇首语:大道之行,天下为公。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第三章 答案[9]相关的知识,希望对你有一定的参考价值。

   中缀表达式转为后缀表达式的规则基本上与上面 题相同 不同之处是对运算符**优先级的规定 在算术运算中 先乘除后加减 先括号内后括号外 相同级别的运算符按从左到右的规则运算 而对**运算符 其优先级同常规理解 即高于加减乘除而小于左括号 为了适应本题中 从右到左计算 的要求 规定栈顶运算符**的级别小于正从表达式中读出的运算符** 即刚读出的运算符**级别高于栈顶运算符** 因此也入栈   下面以A**B**C为例说明实现过程

  读入A 不是操作符 直接写入结果表达式 再读入* 这里规定在读入*后 不能立即当乘号处理 要看下一个符号 若下个符号不是* 则前个*是乘号 这里因为下一个待读的符号也是* 故认为**是一个运算符 与运算符栈顶比较(运算符栈顶初始化后 首先压入 # 作为开始标志) 其级别高于 # 入栈 再读入B 直接进入结果表达式 接着读入** 与栈顶比较 均为** 我们规定 后读入的**级别高于栈顶的** 因此**入栈 接着读入C 直接到结果表达式 现在的结果(后缀)表达式是ABC 最后读入 # 表示输入表达式结束 这时运算符栈中从栈顶到栈底有两个**和一个 # 两个运算符**退栈至结果表达式 结果表达式变为ABC**** 运算符栈中只剩 # 退栈 运算结束

   ( )sum= 当x为局部变量时 每次递归调用 都要给局部变量分配存储单元 故x数值 和 均保留 其递归过程示意图如下

  ( ) sum= 当x为全局变量时 在程序的整个执行期间 x只占一个存储单元 先后读入的 个数( ) 仅最后一个起作用 当递归调用结束 逐层返回时sum:=sum(n )+x表达式中 x就是 所以结果为sum=

cha138/Article/program/sjjg/201311/22714

相关参考

知识大全 数据结构考研分类复习真题 第三章 栈和队列[9]

  设栈S和队列Q的初始状态为空元素eeeee和e依次通过栈S一个元素出栈后即进队列Q若个元素出队的序列是eeeeee则栈S的容量至少应该是(   )【南京理工大学一(分

知识大全 数据结构考研分类复习真题 第三章 答案[12]

  见上题的解答  参见上面题  typedefstructnode  elemtypeelemcq[m]; //m为队列最大可能的容量  intfrontrear;  

知识大全 数据结构考研分类复习真题 第三章 答案[13]

  typedefstruct  elemtpq[m];  intfrontcount; //front是队首指针count是队列中元素个数  cqnode;  &nbs

知识大全 数据结构考研分类复习真题 第三章 答案[26]

  [题目分析]本题与上面题基本相同现用类C语言给出该双端队列的定义  #definemaxsize   typedefstruct  datatypeelem[maxsize];  int

知识大全 数据结构考研分类复习真题 第三章 答案[16]

  #definemaxsize栈空间容量  voidInOutS(ints[maxsize])  //s是元素为整数的栈本算法进行入栈和退栈操作  inttop=;   

知识大全 数据结构考研分类复习真题 第三章 答案[3]

  s=(LinkedList)malloc(sizeof(LNode))s>data=x;s>next=r>nextr>next=sr=s  牺牲一个存储单元 &n

知识大全 数据结构考研分类复习真题 第三章 答案[14]

  既不能由输入受限的双端队列得到也不能由输出受限的双端队列得到的输出序列是dbca  ()     ()   &nbs

知识大全 数据结构考研分类复习真题 第三章 答案[23]

  本题与上题本质上相同现用类C语言编写入队和出队算法  ()voidEnQueue(LinkedListrearElemTypex)  //rear是带头结点的循环链队列的尾指针本算法将元素x插入到

知识大全 数据结构考研分类复习真题 第三章 答案[27]

  intMaxValue(inta[]intn)//设整数序列存于数组a中共有n个本算法求解其最大值  if(n==)max=a[];  elseifa[n]>MaxValue(an)max=

知识大全 数据结构考研分类复习真题 第三章 答案[28]

  [题目分析]这是以读入数据的顺序为相反顺序进行累乘问题可将读入数据放入栈中到输入结束将栈中数据退出进行累乘累乘的初值为  PROC test;  CONSTmaxsize=;  VARs