第一章测试1.
()是一种最简单的线性结构。
A:线性表 B:树 C:集合 D:图
答案:A
2.
( )线性表的数据元素可以由所描述对象的各种特征的数据项组成。
A:散列存储 B:顺序存储 C:链式存储 D:有序存储
答案:C
3.
已知单向链表中指针p指向结点A,( )表示删除A的后继结点(若存在)的链操作(不考虑回收)。
A:p=p—>next—>next B:p—>next=p C:p—>next=p—>next—>next D:p=p—>next
答案:C
4.
已知last指向单向简单链表的尾结点,将s所指结点加在表尾,不正确的操作是____。
A:last->next=s,last=s,last->next=NULL; B:s->next=NULL, last->next=s, s=last; C:s->next=NULL, last->next=s,last=s; D:last->next=s,s->next=NULL,last=s;
答案:B
5.
已知h是指向单向加头链表的首指针,删除表头结点的操作是_____。
A:p=h,h=p->next;free(p); B:free(h->next);h=h->next; C:p=h->next;free(p);h=h->next; D:p=h->next,h->next=p->next;free(p);
答案:D
6.
有N个元素组成的线性表,我们说此线性表的长度为( )
A:n B:0 C:n-1 D:n+1
答案:A
7.
对线性表中的数据元素进行( )和( )等操作,实现表的长度的增长或缩短。
A:访问 B:遍历 C:插入 D:删除
答案:CD
8.
线性表的抽象数据类型定义
A:函数关系 B:数据对象 C:数据关系 D:基本操作
答案:BCD
9.
我们使用( ),实现线性表的顺序存储。
A:数组 B:语句 C:函数 D:数值
答案:A
10.
线性表的基本操作是用C语言中的( )对其进行表示的。
A:函数 B:循环语句 C:条件语句 D:结构体
答案:A
11.
在链表中第i 个结点之前插入新的元素 e ,表的逻辑结构不变。
A:错 B:对
答案:A
12.
在单链表中插入结点只需要()。但同时,若要在第( )个结点之前插入元素,修改的是第 ( )个结点的指针。
A:i+1 B: i C:i-1 D:修改指针
答案:BCD
13.
单链表和线性表中所有基本操作相同,且编程实现方法相同。
A:错 B:对
答案:A
14.
数字钟程序中使用的时间,可以是系统时间。
A:错 B:对
答案:B
15.
和单链表的差别仅在于,判别链表中最后一个结点的条件不再是( ),而是( )。
A:“后继是否为头结点” B:“前继是否为空” C:“前继是否为头结点” D:“后继是否为空”
答案:AD
16.
双向链表的“删除” 时需要同时修改两个方向上的指针,改变结点之间的逻辑关系。
A:对 B:错
答案:A
17.
双向链表的“插入” 时不需要同时修改两个方向上的指针,改变结点之间的逻辑关系。
A:对 B:错
答案:B
18.
双向链表中,当指针p指向非空表中的非头尾结点时,以下哪个式子是正确的()
A:p->next->prior=p B:p->next =p->prior C:p=p->next D:p=p->prior->next
答案:AD
19.
双向链表中,当指针p指向非空表中的非头尾结点时,以下哪个式子是正确的()
A:p->next->prior=p B:p=p->prior C:p->next=p ->prior D:p->prior=p->next
答案:A
20.
双向链表需要在结点中设两个指针域( )
A:next指针域 B:parent指针域 C:数据域 D:prior指针域
答案:AD
温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!