一. 单选题(共10题,100分)
- (单选题)判断一个循环队列Q(空间大小为M)为空的条件是( )。
A. Q->front+1=Q->rear
B. Q->rear-Q->front-1M
C. Q->rear+1=Q->front
D. Q->frontQ->rear
我的答案: D:Q->frontQ->rear;正确答案: D:Q->frontQ->rear;
10分 - (单选题)若用一个大小为6的数组来实现循环队列,且当rear和front的值分别为0,3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为( )。
A. 4和2
B. 1和5
C. 2和4
D. 5和1
我的答案: C:2和4;正确答案: C:2和4;
10分 - (单选题)队列的删除操作是在( )。
A. 队尾
B. 队前
C. 队首
D. 队后
我的答案: C:队首;正确答案: C:队首;
10分 - (单选题)在一个链队列中,假定front和rear分别为队头指针和队尾指针,删除一个结点的操作是( )。
A. rear=rear->next
B. front->next=rear
C. rear->next=front
D. front=front->next
我的答案: D:front=front->next;正确答案: D:front=front->next;
10分 - (单选题)依次在初始为空的队列中插入元素a,b,c,d以后,紧接着做了两次删除操作,此时的队头元素是( )。
A. d
B. b
C. c
D. a
我的答案: C:c;正确答案: C:c;
10分 - (单选题)当用大小为N的数组存储顺序循环队列时,该队列的最大长度为( )。
A. N-1
B. N-2
C. N
D. N+1
我的答案: A:N-1;正确答案: A:N-1;
10分 - (单选题)循环队列的队头和队尾指针分别为front和rear,则判断循环队列为空的条件是( )。
A. front0
B. rear0
C. front=rear+1
D. frontrear
我的答案: D:frontrear;正确答案: D:front==rear;
10分 - (单选题)队列的插入操作是在( )。
A. 队头
B. 队尾
C. 队列任意位置
D. 队头元素后
我的答案: B:队尾;正确答案: B:队尾;
10分 - (单选题)在一个链队列中,front和rear分别为头指针和尾指针,则插入一个结点s的操作为( )。
A. front=front->next
B. rear->next=s;rear=s;
C. s->next=front;front=s;
D. s->next=rear;rear=s
我的答案: B:rear->next=s;rear=s;;正确答案: B:rear->next=s;rear=s;;
10分 - (单选题)判断一个循环队列Q(最多n个元素)为满的条件是( )。
A. Q->front==(Q->rear+1)%n
B. Q->rearQ->front
C. Q->rearQ->front+1
D. Q->front==(Q->rear-1)%n
我的答案: A:Q->front==(Q->rear+1)%n;正确答案: A:Q->front==(Q->rear+1)%n;
10分