题目内容

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

A. 5
B. 7
C. 8
D. 11

查看答案
更多问题

假设栈初始为空,将中级表达式a/b+(c*d-e*f)/g转换为等价的后缀表达式的过程中,当扫描到f时,栈中的元素依次是()。

A. +(*-
B. +(-*
C. /+(*-*
D. /+-*

已知程序如下:int S(int n){ return (n<=0)?0:s(n-1)+n;}void main({ cout<< s(1);}程序运行时使用栈来保存调用过程的信息,自栈底到栈顶保存的信息一次对应的是( )。

A. main( )->S(1)->S(0)
B. S(0)->8(1)->main( )
C. main( )->S(0)->S(1)
D. S(1)->S(0)->main( )

若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再插入两个元素后,rear和front的值分别为()。

A. 1和5
B. 2和4
C. 4和2
D. 5和1

二维数组A[1,…,m,1,…,n](即m行n列)按行存储在数组B[1,…,m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为()

A. (i-1)*n+j
B. (i-1)*n+j-1
C. i*(j-1)
D. j*m+i-1

答案查题题库