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