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

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