2019-2022年CSP-J1链表合集
发表于:2023-08-27 | 分类: CSP
字数统计: 896 | 阅读时长: 3分钟 | 阅读量:

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
上一篇:
CSP-J高频考点-排列组合
下一篇:
2019-2022年CSP-J1图合集