2019
第 6 题
链表不具有的特点是()
A. 插入删除不需要移动元素
B. 不必事先估计存储空间
C. 所需空间与线性表长度成正比
D. 可随机访问任一元素
选D。解析:链表是一种常见的数据结构,它由一系列节点组成,每个节点包含两部分:数据域和指针域。数据域用于存储数据元素,而指针域用于存储下一个节点的地址。
选项A是正确的,因为链表的插入和删除操作只需要修改相邻节点的指针域,而不需要移动其他元素。这使得链表在插入和删除操作上比线性表更加高效。
选项B也是正确的,因为链表不必预先分配固定大小的存储空间。每当需要添加一个新元素时,只需分配一个新的节点,并将其添加到链表的末尾即可。这使得链表在内存使用上更加灵活。
选项C也是正确的,因为链表所需的存储空间与线性表的长度成正比。每个节点都需要额外的存储空间来存储指针域,而链表中的元素数量就是节点的数量。
然而,选项D是不正确的,因为链表不能随机访问任一元素。为了访问链表中的任一元素,必须从链表的头部开始遍历,直到找到目标元素或者到达链表的尾部。这种顺序访问的方式使得链表在随机访问上的性能较差于线性表。
2020
第 7 题
链表不具有的特点是()。
A. 可随机访问任一元素
B. 不必事先估计存储空间
C. 插入删除不需要移动元素
D. 所需空间与线性表长度成正比
选A. 可随机访问任一元素。
链表是一种线性数据结构,其中的元素不是连续存储的。每个元素都包含一个指向下一个元素的指针。因此,要访问链表中的任一元素,必须先遍历到该元素所在的节点,然后通过节点中的指针来访问该元素。由于需要遍历,所以链表不能像数组那样直接通过索引来访问任一元素,因此不具备随机访问任一元素的特点。
2021
无。
2022
第 4 题
链表和数组的区别包括( )。
A. 数组不能排序,链表可以
B. 链表比数组能存储更多的信息
C. 数组大小固定,链表大小可动态调整
D. 以上均正确
选C。A错误,数组可以排序。B错误,没有上下文,不能确定。
第 11 题
以下哪组操作能完成在双向循环链表结点 p 之后插入结点 s 的效果(其中,next 域为结点的直接后继,prev 域为结点的直接前驱):( )。
A. p->next->prev=s; s->prev=p; p->next=s; s->next=p->next;
B. P->next->prev=s; p->next=s; s->prev=p; s->next=p->next;
C. s->prev=p; s->next=p->next; P->next=s; p->next->prev=s;
D. s->next=p->next; p->next->prev=s; s->prev=p; p->next=s;
选D。
s->next = p->next;
在p->next = s;
前,否则就变成s->next = s
p->next->prev = s;
在p->next = s;
前,否则变成s->prev = s