1 . 容易 (5分)
循环队列______。
A. 不会产生下溢出
B. 不会产生上溢出
C. 不会产生假溢出
D. 以上都不对
回答正确
答案
不会产生假溢出
2 . 容易 (5分)
某循环队列的元素类型为char,队头指针front指向队头元素的前一个位置,队尾指针rear指向队尾元素,如图1.6所示,则队中从队头到队尾的元素为______。
A. abcd123456
B. abcd123456c
C. dfgbca
D. cdfgbca
回答正确
答案
dfgbca
3 . 容易 (5分)
若某循环队列有队首指针front和队尾指针rear,在队不空时出队操作仅会改变______。
A. front
B. rear
C. front和rear
D. 以上都不队
回答正确
答案
front
4 . 容易 (5分)
若某循环队列有队头指针front和队尾指针rear,在队不满时进队操作仅会改变______。
A. front
B. rear
C. front和rear
D. 以上都不对
回答正确
答案
rear
5 . 容易 (5分)
已知循环队列存储在一维数组A[0..n-1]中,且队列非空时front和rear分别指向队头元素和队尾元素。若初始时队列空,且要求第一个进入队列的元素存储在A[0]处,则初始时front和rear的值分别是______。
A. 0,0
B. 0,n-1
C. n-1,0
D. n-1,n-1
回答正确
答案
0,n-1
6 . 容易 (5分)
设循环队列qu中数组data的下标是0~N-1,其队头、队尾指针分别为f和r(f指向队首元素的前一位置,r指向队尾元素),元素x出队的操作是______ ; x=qu.data[qu.f]。
A. qu.r++
B. qu.r=(qu.r+1)%N
C. qu.f++;
D. qu.f=(qu.f+1)%N
回答正确
答案
qu.f=(qu.f+1)%N
7 . 容易 (5分)
设固定容量的循环队列中数组的下标是0~N-1,其队头队尾指针分别为f和r(f指向队首元素的前一位置,r指向队尾元素),则其元素个数为______。
A. r-f
B. r-f-1
C. (r-f)%N+1
D. (r-f+N)%N
回答正确
答案
(r-f+N)%N
8 . 容易 (5分)
设固定容量的循环队列的存储空间为a[0..20],且当前队头指针和队尾指针的值分别为8和3,则该队列中元素个数为______。
A. 5
B. 6
C. 16
D. 17
回答正确
答案
16
9 . 容易 (5分)
若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再进队两个元素后,rear和front的值分别为______。
A. 1和5
B. 2和4
C. 4和2
D. 5和1
回答正确
答案
2和4
解析
删除一个元素后,队首指针要加1,front=(front+1)%6,结果为4,每加入一个元素队尾指针加一,即real=(real+1)%6,加入两个元素后变为2,所以选B
10 . 容易 (5分)
假设用一个不带头结点的单链表表示队列,队尾在链表的______ 位置。
A. 链头
B. 链尾
C. 链中
D. 以上都可以
回答正确
答案
链尾
11 . 容易 (5分)
最不适合用做链队的链表是______。
A. 只带头结点指针的非循环双链表
B. 只带队首结点指针的循环双链表
C. 只带队尾结点指针的循环双链表
D. 以上都不适合
回答正确
答案
只带头结点指针的非循环双链表
12 . 容易 (5分)
串是一种特殊的线性表,其特殊性体现在______。
A. 可以顺序存储
B. 数据元素是单个字符
C. 可以链式存储
D. 数据元素可以是多个字符
回答正确
答案
数据元素是单个字符
13 . 容易 (5分)
以下______ 是"abcd321ABCD"串的子串。
A. abcd
B. 321AB
C. "abcABC"
D. "21AB"
回答正确
答案
"21AB"
串:1、不可以跳着输出;2、必须用 “ ”
14 . 容易 (5分)
队列和栈具有相同的( )。
A. 抽象数据类型
B. 逻辑结构
C. 存储结构
D. 运算
回答正确
答案
逻辑结构
15 . 容易 (5分)
栈和队列的共同点是( )。
A. 都是先进后出
B. 都是后进先出
C. 只允许在端点处插入和删除元素
D. 没有共同点
回答正确
答案
只允许在端点处插入和删除元素
解析
栈和队列的共同点是,数据元素的逻辑关系都是线性关系,都只能在端点进行插入和删除操作。
16 . 容易 (5分)
栈和队列的不同点是( )。
A. 都是线性表
B. 都不是线性表
C. 栈只能在一端进行插入删除操作,而队列在不同端进行插入删除操作
D. 没有不同点
回答正确
答案
栈只能在一端进行插入删除操作,而队列在不同端进行插入删除操作
解析
栈和队列的不同点是,栈在同一端进行插入和删除操作,而队列在不同端进行插入和删除操作。本题答案为C。
17 . 普通 (5分)
在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,这样主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取出数据打印。该缓冲区应该是一个( )结构。
A. 栈
B. 队列
C. 数组
D. 线性表
回答正确
答案
队列
解析
打印数据缓冲区具有先来先打印的特点,队列正好满足这个特点,本题答案为B。
18 . 普通 (5分)
在数据处理过程中常需要保存一些中间数据,如果先保存的数据先处理,则使用( )来保存这些数据。
A. 线性表
B. 栈
C. 队列
D. 单链表
回答正确
答案
队列
解析
由于先保存的数据先处理,队列正好满足这个特点,本题答案为C。
19 . 容易 (5分)
以下( )属于队列的基本运算。
A. 对队列中的元素排序
B. 取出最近进队的元素
C. 在队头元素之前插入元素
D. 删除队头元素
回答正确
答案
删除队头元素
解析
删除队头元素即为出队,是队列的基本运算之一。
20 . 容易 (5分)
元素A、B、C、D顺序连续进进队列qu后,队头元素是 【1】 ,队尾元素是 【2】 。
A. A
B. B
C. C
D. D
回答正确
答案
A
D
解析
元素进进队列后,从头到尾依次是A、B、C、D,队头是A,队尾是D。