设循环队列的结构是const int MaxSize = 100;typedef int DataType;typedef struct {DataType data[MaxSize];int front, rear;} Queue;若有一个Queue类型的队列Q,则应用语句( )计算队列元素个数。
A. (Q.rear - Q.front + MaxSize ) % MaxSize;
B. Q.rear - Q.front +1;
C. Q.rear - Q.front -1;
D. Q.rear - Qfront;
查看答案
在做进栈运算时,应先判断栈是否( )
A. 空
B. 满
C. 上溢
D. 下溢
为增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时, 应将两栈的( )分别设在这片内存空间的两端。
A. 长度
B. 深度
C. 栈顶
D. 栈底
使用两个栈共享一片内存空间时,当( )时,才产生溢出。
A. 两个栈的栈顶同时到达这片内存空间的中心点
B. 其中一个栈的栈顶到达这片内存空间的中心点
C. 两个栈的栈顶在这片内存空间的某一位置相遇
D. 两个栈均不空, 且一个栈的栈顶到达另一个栈的栈底
判断一个队列QU(最多元素为MAXSIZE)为空的条件是( )
A. QU->rear-QU->front= = MAXSIZE
B. QU->rear-QU->front-1= =MAXSIZE
C. QU->front= =QU->rear
D. QU->front= =QU->rear+1