🎯 共 98 道练习,按章节编号排列。题号规则:4.2.1 = 第 4 章 · 小节 4.2 · 第 1 题;.A / .B 结尾的是本章综合练习。 题号题目档位 第 1 章 先让程序跑起来 进入本章 →1.1.1输出我的名片必做1.1.2链式输出挑战1.2.1两数之和必做1.2.2带空格的整行挑战1.3.1修好这段代码必做1.3.2零警告编译挑战1.A命令行名片卡:cin / getline / 格式化输出综合第 2 章 变量、类型与流程控制 进入本章 →2.1.1三种类型各就各位必做2.1.2圆的面积挑战2.2.1大数相乘必做2.2.2溢出预警挑战2.3.1奇偶判断必做2.4.1简易计算器挑战2.5.1编译期平方必做2.5.2constexpr 数组挑战2.A成绩统计:类型选择 + 流程控制 + 格式化输出综合第 3 章 函数与引用 进入本章 →3.1.1我的第一个函数必做3.2.1偶数求和挑战3.2.2引用版交换必做3.2.3值传递 vs 引用挑战3.3.1自己的命名空间必做3.3.2拆成 .h 和 .cpp挑战3.A统计函数:const 引用入参 + 引用输出参数综合第 4 章 指针、数组与内存模型 进入本章 →4.1.1指针版交换必做4.1.2const 指针实验挑战4.2.1vector 找最大值必做4.2.2字符串反转挑战4.3.1动态数组求和必做4.3.2动态数组排序挑战4.4.1unique_ptr 小链表必做4.4.2shared_ptr 计数实验挑战4.A智能指针 + 指针区间 + 就地反转综合第 5 章 类与对象 进入本章 →5.1.1Point 类必做5.2.1Counter 计数挑战5.2.2拷贝的独立性必做5.3.1浅拷贝的代价挑战5.4.1学生按分数排序必做5.5.1形状多态挑战5.A五法则实战:写一个能安全拷贝的 IntArray综合第 6 章 模板与泛型编程 进入本章 →6.1.1模板求最大值必做6.1.2模板求和挑战6.2.1模板栈 Stack必做6.2.2模板栈适配字符串挑战6.A写一个通用的 Stack<T>:模板类 + 模板函数综合第 7 章 STL 容器与迭代器 进入本章 →7.1.1正数计数必做7.1.2reserve 观察扩容挑战7.2.1单词频率统计必做7.2.2set 去重排序挑战7.3.1循环删除偶数必做7.3.2前 K 大挑战7.A词频榜:map 统计 + 排序排行 + 迭代器删除综合第 8 章 STL 算法与常用编程范式 进入本章 →8.1.1分数排序必做8.1.2按绝对值排序挑战8.2.1删除所有 2必做8.2.2统计 >= x 的个数挑战8.A成绩表:sort + lambda + count_if + lower_bound综合第 9 章 现代 C++ 特性 进入本章 →9.1.1城市人口表必做9.1.2auto 引用改值挑战9.2.1编译期阶乘必做9.2.2除法保护挑战9.A编译期计算 + 结构化绑定 + 异常处理综合第 10 章 动手写数据结构 进入本章 →10.1.1迷你顺序表必做10.1.2带插入的顺序表挑战10.2.1头插链表必做10.2.2就地反转挑战10.3.1越界抓现行必做10.3.2随机对拍挑战10.Aunique_ptr 版单链表 + 随机对拍综合第 11 章 十个算法思想 进入本章 →11.1.1两数之和(有序)必做11.1.2回文判断挑战11.2.1最长无重复子串必做11.2.2和 ≥ target 最短子数组挑战11.3.1众数必做11.3.2两数之和(哈希版)挑战11.4.1区间和查询必做11.4.2和为 k 的子数组挑战11.5.1手写 lower_bound必做11.5.2二分求平方根挑战11.6.1连通块计数必做11.6.2路径计数挑战11.7.1迷宫最短步数必做11.7.2BFS 连通块挑战11.8.1全排列必做11.8.2组合 C(n, k)挑战11.9.1区间调度必做11.9.2找零钱挑战11.10.1爬楼梯必做11.10.2最大子段和挑战11.A一数组三问:DP + 前缀和哈希 + 哈希配对综合11.B网格综合:BFS 最短路 + DFS 连通块综合第 12 章 调试、构建与测试 进入本章 →12.1.1用 sanitizer 抓出越界与泄漏必做12.2.1用 gdb 找出崩溃位置必做12.3.1把三文件工程改造成 CMake 工程挑战12.4.1给 IntArray 写四个用例挑战第 13 章 数据结构与算法补遗 进入本章 →13.1.1手写归并排序 + 与 std::sort 对拍必做13.2.1BST:插入 + 中序 + 最值必做13.3.1连通块数 + 无权图最短路挑战13.4.1朋友圈:合并 + 查询必做 📚 本文概念都在知识大全: 时间复杂度 · STL