第一章测试
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.

 在链表中第个结点之前插入新的元素 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 元后可查看付费内容,请先翻页预览!
点赞(83) dxwkbang
返回
顶部