H. 第二节-04 链表与指针阅读

    客观题

第二节-04 链表与指针阅读

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

第二节-04 链表与指针阅读

CSP-J 第一轮专项训练。 本题全部为单项选择题,提交后自动判分。

1.

单链表的一个结点通常至少包含( )。

{{ select(1) }}

  • A. 数据域和指向下一个结点的指针
  • B. 两个栈
  • C. 一个二维数组
  • D. 只有下标

2.

若 head 直接指向首结点,则空链表通常可表示为( )。

{{ select(2) }}

  • A. head == nullptr
  • B. head == 1
  • C. head->data == 0
  • D. head->next == head

3.

普通非循环单链表最后一个结点的 next 通常为( )。

{{ select(3) }}

  • A. head
  • B. 自己
  • C. nullptr
  • D. 第一个结点的数据

4.

遍历单链表时,从当前结点 p 移动到下一个结点应写( )。

{{ select(4) }}

  • A. p++
  • B. p = p->next
  • C. p = head
  • D. p->data++

5.

链表为 2 -> 5 -> 9 -> null,p 初始指向 head,连续执行两次 p=p->next 后,p->data 为( )。

{{ select(5) }}

  • A. 2
  • B. 5
  • C. 9
  • D. 无法确定

6.

在 p 指向的结点后插入新结点 x,正确的关键顺序是( )。

{{ select(6) }}

  • A. p->next=x; x->next=p->next;
  • B. x->next=p->next; p->next=x;
  • C. x=p; p=x->next;
  • D. delete p; p=x;

7.

原链表局部为 A -> X -> B,p 指向 A。若要把 X 从链条中绕过,可执行( )。

{{ select(7) }}

  • A. p->next = p
  • B. p->next = p->next->next
  • C. p = nullptr
  • D. p->data = 0

8.

链表为 3 -> 6 -> 8 -> null,执行:

int sum = 0;
Node* p = head;
while (p != nullptr) {
    sum += p->data;
    p = p->next;
}

最终 sum 为( )。

{{ select(8) }}

  • A. 11
  • B. 14
  • C. 17
  • D. 18

9.

有 n 个结点的普通单链表,从 head 查找最后一个结点,时间复杂度通常为( )。

{{ select(9) }}

  • A. O(1)
  • B. O(log n)
  • C. O(n)
  • D. O(n²)

10.

与普通数组相比,单链表不擅长的操作是( )。

{{ select(10) }}

  • A. 已知结点后插入
  • B. 已知结点后删除
  • C. 按下标随机访问第 k 个元素
  • D. 从头顺序遍历

11.

使用头插法依次插入数据 1、2、3,最终从 head 开始的顺序是( )。

{{ select(11) }}

  • A. 1 -> 2 -> 3
  • B. 3 -> 2 -> 1
  • C. 2 -> 1 -> 3
  • D. 1 -> 3 -> 2

12.

下列场景更适合使用链表而不是普通数组的是( )。

{{ select(12) }}

  • A. 大量按下标读取
  • B. 已知结点位置并频繁在附近插入、删除
  • C. 需要二分查找
  • D. 需要连续内存并高频随机访问

CSP 02 CSPJ第二节_栈队列链表

未参加
状态
已结束
规则
XCPC
题目
12
开始于
2026-9-25 10:30
结束于
2026-11-1 10:30
持续时间
888 小时
主持人
参赛人数
8