设循环队列的结构是const int MaxSize = 100;typedef int DataType;typedef struct {DataType data[MaxSize];int front, rear;} Queue;若有一个Queue类型的队列Q,则判断队列满的条件应是语句( )。
A. Q.front == Q.rear;
B. Q.front - Q.rear == MaxSize;
C. Q.front + Q.rear == MaxSize;
D. Q.front == (Q.rear+1) % MaxSize;
查看答案
设循环队列的结构是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. 两个栈均不空, 且一个栈的栈顶到达另一个栈的栈底