数据结构期末考试(题集)

内容发布更新时间 : 2025/5/22 11:03:45星期一 下面是文章的全部内容请认真阅读。

A.提高查找速度 B.更方便数据的插入和删除 C.节约存储空间 D.很快回收存储空间

(20) 与单链表相比,双链表的优点之一是( )。 A.插入和删除操作更简单 B.可以进行随机访问 C.可以省略表头指针或表尾指针 D.访问其后相邻结点更灵活

(21) 带头结点的循环双链表L为空表的条件是( )。 A.L->next->prior=NULL B.L->prior=L C.L->next=L D.B和C都对

(22) 在循环双链表的p所指结点后插入s所指结点的操作是( )。 A.p->next=s; s->prior=p; p->next->prior=s; s->next=p->next; B.p->next=s; p->next->prior=s; s->prior=p; s->next=p->next; C.s->prior=p; s->next=p->next; p->next=s; p->next->prior=s; D.s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;

(23) 在双链表中指针pa所指结点后面插入pb所指结点,执行的语句序列是( )。 ①pb->next=pa->next; ②pb->prior=pa; ③pa->next=pb; ④pa->next->prior=pb; A.①②③④ B.④③②① C.③④①② D.①④③②

(24) 在一个双链表中,删除结点p的操作是( )。 A.p->prior->next=p->next; p->next->prior=p->prior; B.p->prior=p->prior->prior; p->prior->prior=p; C.p->next->prior=p; p->next=p->next->next;

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

应用题

(25) 单链表设置头结点的作用是什么?

(26) 线性表的顺序存储结构具有三个弱点:其一,插入或删除操作需要移动大量元

素;其二,由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;其三,表的容量难以扩充。试问,线性表的链接存储结构是否能够克服上述三个弱点?

(27) 若频繁地对一个线性表进行插入和删除操作,该线性表采用什么存储结构比较

好?

(28) 设n表示线性表中的元素个数,P表示指针所需的存储单元大小,E表示存储

数据元素所需的存储单元大小,则使用单链表存储方式存储该线性表需要多少存储空间(不考虑头结点)?

算法设计题

11

(29) 设计算法依次打印单链表中每个结点的数据信息。

(30) 求单链表的长度。

(31) 设计算法将值为x的结点插入到不带头结点的单链表L中值为k的结点之前,

若找不到值为k的结点,则将x插入到链表的末尾。

(32) 判断非空单链表是否递增有序。

(33) 已知非空线性链表由list指出,结点结构为(data,link)。请编写算法,将链

表中数据域最小的结点移到链表的最前面。要求:不得额外申请新的结点。

(34)

>>鐏炴洖绱戦崗銊︽瀮<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi