智慧树知到《算法与数据结构(山东联盟)》章节测试答案


A.free(h->;next);h=h->;next

B.p=h,h=p->;next;free(p)

C.p=h->;next;free(p);h=h->;next

D.p=h->;next,h->;next=p->;next;free(p)

正确答案:p=h->;next,h->;next=p->;next;free(p)

6、有N个元素组成的线性表,我们说此线性表的长度为()

A.n-1

B.n+1

C.0

D.n

正确答案:n

7、对线性表中的数据元素进行()和()等操作,实现表的长度的增长或缩短。

A.插入

B.删除

C.遍历

D.访问

正确答案:插入;删除

8、线性表的抽象数据类型定义

A.基本操作

B.函数关系

C.数据关系

D.数据对象

正确答案:基本操作;数据关系;数据对象

9、我们使用(),实现线性表的顺序存储。

A.数值

B.数组

C.语句

D.函数

正确答案:数组

10、线性表的基本操作是用C语言中的()对其进行表示的。

A.循环语句

B.条件语句

C.函数

D.结构体

正确答案:函数

11、在链表中第i;个结点之前插入新的元素;e ,表的逻辑结构不变。

A.正确

B.错误

正确答案:错误

12、在单链表中插入结点只需要()。但同时,若要在第()个结点之前插入元素,修改的是第()个结点的指针。

A.i

B.i+1

C.修改指针

D.i-1

正确答案:i;修改指针;i-1

13、单链表和线性表中所有基本操作相同,且编程实现方法相同。

A.正确

B.错误

正确答案:错误

14、数字钟程序中使用的时间,可以是系统时间。

A.正确

B.错误

正确答案:正确

15、和单链表的差别仅在于,判别链表中最后一个结点的条件不再是(),而是()。

A.“前继是否为空”

B.“后继是否为头结点”

C.“后继是否为空”

D.“前继是否为头结点”

正确答案:“后继是否为头结点”;“后继是否为空”

16、双向链表的“删除”;时需要同时修改两个方向上的指针,改变结点之间的逻辑关系。

A.正确

B.错误

正确答案:正确

17、双向链表的“插入”;时不需要同时修改两个方向上的指针,改变结点之间的逻辑关系。

A.正确

B.错误

正确答案:错误

18、双向链表中,当指针p指向非空表中的非头尾结点时,以下哪个式子是正确的()

A.p->;next->;prior=p

B.p->;next;=p->;prior

C.p=p->;prior->;next

D.p=p->;next

正确答案:p->;next->;prior=p;p=p->;prior->;next

19、双向链表中,当指针p指向非空表中的非头尾结点时,以下哪个式子是正确的()

A.p=p->;prior

B.p->;prior=p->;next

C.p->;next=p;->;prior

D.p->;next->;prior=p

正确答案:p->;next->;prior=p