设链式栈(不带结点)中结点的结构为(data, link),且top是指向栈顶的指针。若想摘除链式栈的栈顶结点,并将被摘除结点的值保存到x中,则应执行操作( )。
A. x = top->data; top = top->link;
B. top = top->link; x = top->data;
C. x = top; top = top->link;
D. x = top->data;
查看答案
设循环队列的结构是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. 栈底