数据结构与算法 第3章队列

一.单选题(共9题,90.0分)

1

设环形队列中数组的下标为0~N-1,其队头、队尾指针分别为front和rear(front指向队列中队头元素的前一个位置,rear指向队尾元素的位置),则其元素个数为 。
A、rear-front
B、rear-front-1
C、(rear-front)%N+1
D、(rear-front+N)%N
正确答案: D

2

若用一个大小为6的数组来实现环形队列,队头指针front指向队列中队头元素的前一个位置,队尾指针rear指向队尾元素的位置。若当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()。
A、1和5
B、2和4
C、4和2
D、5和1
正确答案: B

3

某循环队列有队首指针front和队尾指针rear,在队不满时进队操作仅会改变( )。
A、front
B、rear
C、front和rear
D、以上都不对
正确答案: B

4

设循环队列中数组的下标是0~N-1,其队头、队尾指针分别为f和r(f指向队首元素的前一位置,r指向队尾元素),则其元素个数为( )。
A、r-f
B、r-f-1
C、(r-f)%N+1
D、(r-f+N)%N
正确答案: D

5

设循环队列中数组的下标是0~N-1,其头指针和尾指针分别为f和r,则其元素个数为( )。
A、r-f
B、r-f-1
C、(r-f)%N+1
D、(r-f+N)%N
正确答案: D

6

判定一个循环队列Q(存放元素位置为0~QueueSize-1)队满的条件是( )。
A、Q.front= =Q.rear
B、Q.front+1= =Q.rear
C、Q.front= =(Q.rear+1 )% QueueSize
D、Q.rear= =(Q.front+1 )% QueueSize
正确答案: C

7

以下各种存储结构中,最适合用作链队的链表是 。
A、队首指针和队尾指针的循环单链表
B、带队首指针和队尾指针的非循环单链表
C、只带队首指针的非循环单链表
D、只带队首指针的循环单链表
正确答案: B

8

以下数据结构中元素之间为非线性关系的是( )。
A、栈
B、队列
C、线性表
D、以上都不是
正确答案: D

9

队列又称为( )的线性表。
A、先进先出
B、后进先出
C、后进后出
D、随意进出
正确答案: A

二.填空题(共1题,10.0分)

1

有一循环队列(0~QueueSize-1),设队头指针指向队头元素front,队尾指针指向队尾元素的下一个位置,则 (1)在循环队列中,队空标志为 ();队满标志为 ()。 (2)当rear≥front时,队列长度为() ;当rear<front时,队列长度为()。(所有的空中涉及到队头指针都用front表示,队尾rear,例:rear=front; MaxSize)

正确答案:

第一空:
rear=front

第二空:
(rear+1)% MaxSize=front

第三空:
rear-front

第四空:
rear-front+MaxSize

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值