【2014年第3题】循环队列放在一维数组A[0...M-中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初始时为空。下列判断队空和队满的条件中,正确的是( )
A. 队空:end1==end2;队满:end1==(end2+1)mod M
B. 队空:end1==end2;队满:end2==(end1+1)mod(M-1)
C. 队空:end2==(end1+1)modM;队满:end1==(end2+1)mod M
D. 队空:end1==(end2+1)modM;队满:cnd2==(end1+1)mod(M-1)
查看答案
【2015 年第 1 题】已知程序如下: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)->S(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
设有一个递归算法如下:int X(int n){ if(n<=3) return 1;else return x(n-2)+X(n-4)+1;}则计算 X(X(8))时需要计算X函数( )次。
A. 8
B. 9
C. 16
D. 18
设有一个递归算法如下:int fact(int n){//n 大于等于0if(n<=0) return 1;else return n*fact(n-1);}则计算fact(n)需要调用该函数的次数为( )
A. n+l
B. n-1
C. n
D. n+2