讲义
课程
作业
真题
竞赛
课时
模板
  • 2023天津CSP-J组 第一轮 成绩
  • 2023天津CSP-S组 第一轮 成绩
  • 2023天津CSP第二轮晋级名单(J&S)
  • 2023竞赛大纲
  • 2023机试环境(禁止使用手机下载,镜像文件过大)
课程
作业
真题
竞赛
课时
模板
  • 2023天津CSP-J组 第一轮 成绩
  • 2023天津CSP-S组 第一轮 成绩
  • 2023天津CSP第二轮晋级名单(J&S)
  • 2023竞赛大纲
  • 2023机试环境(禁止使用手机下载,镜像文件过大)
  • 作业
    • 第一课
    • 第二课
    • 第三课
    • 第四课
    • 第五课
    • 第六s课
    • 第七课
    • 阶段小测
    • 第八课
    • 第九课
    • 第十课
    • 第十一课
    • 第十二课
    • 第十三课
    • 第十四课
    • 阶段复习
    • 第十五课
    • 第十六课
    • 第十七课
    • 第十八课
    • 阶段复习
    • 第十九课
    • 第二十课
    • 第二十一课
    • 第二十二课
    • 第二十三课
    • 第二十四课
    • 第二十五课
    • 第二十六课
    • 第二十七课
    • 第二十八课
    • 第二十九课
    • 第三十课
    • 第三十一课
    • 第三十二课
    • 第三十三课
    • 第三十四课
    • 第三十五课
    • 第三十六课

课后作业

chao_smile2024/3/28

第十七课

1. 给定一个单链表,实现一个函数 int findFirst(Node* head, int target),该函数返回链表中第一次出现目标值 target 的节点的位置。如果目标值不存在于链表中,则返回 -1

链表节点定义如下:

struct Node {
    int data;
    Node* next;
};

链表值获取方式如下:

for (int i = 1; i <= 5; ++i) {
    // 每次 data 赋值 i * 10
}

目标值 target 为 30

示例输出:

目标值 30 第一次出现的位置是 3
  • ✅
  • 历史解析
    • 整体题解思路正确,本题主要考查链表查找操作,没有问题💯

2. 给定一个单链表,实现一个函数 void deleteNode(Node* head, int position),该函数删除链表中指定位置的节点,如果位置无效,则不进行任何操作,随后打印删除后的链表

链表节点定义如下:

struct Node {
    int data;
    Node* next;
};

链表值获取方式如下:

for (int i = 1; i <= 5; ++i) {
    // 每次 data 赋值 i * 10
}

目标值 position 为 3

示例输出:

10 20 40 50
  • ✅
  • 历史解析
    • 整体题解思路正确,本题主要考查链表查找删除操作,没有问题💯

3. 给定一个单链表,实现一个函数 void insertNode(Node* head, int position, int value),该函数在链表中指定位置插入一个值为 value 的节点,如果位置无效,则不进行任何操作,随后打印插入后的链表

链表节点定义如下:

struct Node {
    int data;
    Node* next;
};

链表值获取方式如下:

for (int i = 1; i <= 5; ++i) {
    // 每次 data 赋值 i * 10
}

目标值 position 为 3 , value 为 25

示例输出:

10 20 25 30 40 50
  • ✅
  • 历史解析
    • 整体题解思路正确,本题主要考查链表查找插入操作,没有问题💯
Prev
第十六课
Next
第十八课
津ICP备2020007982号-2