#CSPJ26D10. 2026 年 8 月 CSP-J 初赛 20 日打卡 Day10|线性结构:链表、栈与队列

2026 年 8 月 CSP-J 初赛 20 日打卡 Day10|线性结构:链表、栈与队列

Day 10 线性结构:链表、栈与队列

建议用时:28~32 分钟。请先打开今日知识卡完成复习,再独立提交本页答案。

今日学习资料

复习目标:理解数组与链表的存储差异,会追踪链表指针修改;分清栈与队列的进出顺序,并能独立模拟相关程序。

今日练习

  1. 【CSP-J 2022·第 3 题】运行下列代码后的行为是( )。
int x = 101, y = 201;
int *p = &x, *q = &y;
p = q;

{{ select(1) }}

  • x 的值改为 201
  • y 的值改为 101
  • q 指向 x 的地址
  • p 指向 y 的地址
  1. 【CSP-J 2022·第 4 题】链表和数组的区别包括( )。

{{ select(2) }}

  • 数组不能排序,链表可以
  • 链表比数组能存储更多信息
  • 数组大小通常固定,链表大小可以动态调整
  • 以上均正确
  1. 【CSP-J 2023·第 3 题】已有联合体对象 data,要修改它的 value 成员以存储 3.14,正确写法是( )。
union Data { int num; float value; char symbol; };
Data data;

{{ select(3) }}

  • data.value = 3.14;
  • value.data = 3.14;
  • data->value = 3.14;
  • value->data = 3.14;
  1. 【CSP-J 2023·第 4 题,版式整理】已有头指针 Node* head。要插入数据为 42 的新结点,并使它成为第一个结点,正确操作是( )。

{{ select(4) }}

  • newNode->data=42; newNode->next=head; head=newNode;
  • head->data=42; newNode->next=head; head=newNode;
  • newNode->data=42; head->next=newNode;
  • newNode->data=42; newNode->next=head;
  1. 【CSP-J 2021·第 5 题】元素按 a,b,c,d,e 的顺序入栈,下列不是合法出栈序列的是( )。

{{ select(5) }}

  • a,b,c,d,e
  • e,d,c,b,a
  • b,a,c,d,e
  • c,d,a,e,b
  1. 【CSP-J 2024·第 13 题】元素按 1,2,3,4,5,6 的顺序入栈,下列不可能的出栈顺序是( )。

{{ select(6) }}

  • 6,5,4,3,2,1
  • 1,6,5,4,3,2
  • 2,4,6,5,3,1
  • 1,3,5,2,4,6
  1. 【CSP-J 2022·第 6 题】中缀表达式 a+(b-c)*d 的前缀表达式是( )。

{{ select(7) }}

  • *+a-bcd
  • +a*-bcd
  • abc-d*+
  • abc-+d
  1. 【CSP-J 2023·第 8 题,版式整理】后缀表达式 6 2 3 + - 3 8 2 / + * 2 ^ 3 + 对应的中缀表达式是( )。

{{ select(8) }}

  • ((6-(2+3))*(3+8/2))^2+3
  • 6-2+3*3+8/2^2+3
  • (6-(2+3))*((3+8/2)^2)+3
  • 6-((2+3)*(3+8/2))^2+3
  1. 【CSP-J 2022·第 5 题|选做】栈 S 和队列 Q 初始为空。e1~e6 按顺序入栈;从栈弹出的元素按 e2,e4,e3,e6,e5,e1 的顺序进入并离开队列,各种操作可以交错。栈 S 的容量至少为( )。

{{ select(9) }}

  • 2
  • 3
  • 4
  • 6
  1. 【CSP-J 2025·第 15 题】栈 S 和队列 P 初始为空,依次处理 7,5,8,3,1,4,2:奇数入栈;偶数且栈非空时,弹出栈顶并加入队尾;偶数且栈空时不操作。处理结束后,队列内容是( )。

{{ select(10) }}

  • 5,1,3
  • 7,5,3
  • 3,1,5
  • 5,1,3,7