
C++ 基础教程:从 For 循环到算法初步
系统介绍了 C++ 编程语言的基础知识与常用算法。内容涵盖 for 与 while 循环结构、函数模块化设计、结构体定义与嵌套、字符串处理、ASCII 码应用。深入讲解了递归原理、回溯法模板及高精度整数加减法的模拟实现。通过斐波那契数列、数根计算、全排列枚举等经典例题,帮助读者掌握 C++ 核心语法与算法思维,适合编程初学者入门与巩固。

系统介绍了 C++ 编程语言的基础知识与常用算法。内容涵盖 for 与 while 循环结构、函数模块化设计、结构体定义与嵌套、字符串处理、ASCII 码应用。深入讲解了递归原理、回溯法模板及高精度整数加减法的模拟实现。通过斐波那契数列、数根计算、全排列枚举等经典例题,帮助读者掌握 C++ 核心语法与算法思维,适合编程初学者入门与巩固。

讲解 LeetCode 128 题最长连续序列的解法。给定未排序整数数组,需找出数字连续的最长序列长度,要求时间复杂度 O(n)。核心思路是利用哈希集合快速查找,仅当某数前驱不存在时将其视为序列起点,向后扩展统计长度。通过避免重复计算,实现 O(n) 时间复杂度。代码使用 C++ unordered_set 实现。

深入讲解二叉搜索树(BST)的概念、性质及模拟实现。涵盖插入、查找、删除操作的递归与非递归写法,对比其与有序数组二分查找的效率差异。此外,通过多个经典算法题目(如 BST 转双向链表、根据遍历序列构造二叉树、非递归遍历等),展示了 BST 在实际场景中的应用技巧与注意事项。

介绍前缀和算法及其在一维和二维数组中的应用。通过预处理将区间查询时间复杂度从线性降至常数级。涵盖一维前缀和原理、最大子段和问题解法,以及二维前缀和在矩阵区域求和及激光炸弹问题中的实现。提供 C++ 代码示例,展示空间换时间的策略。

讲解算法题 dd 爱框框的解决方案。题目要求在数组中找到和大于等于 x 的最短连续子数组。核心思路是使用滑动窗口技术,通过移动左右指针维护当前窗口和,当和满足条件时尝试收缩左边界以更新最短长度。代码使用 C++ 实现,输入数组长度和目标值,输出满足条件的子数组起止位置(1-based)。

Flood Fill(种子填充)算法的原理及其在图像处理中的应用。通过四个经典的 LeetCode 题目——图像渲染、岛屿数量、岛屿最大面积和被围绕的区域,详细讲解了如何使用深度优先搜索(DFS)实现连通区域的处理。文章提供了完整的 C++ 代码实现,分析了从起点扩散、条件匹配及避免重复访问的核心逻辑,适合算法初学者学习。

讲解动态规划在股票买卖问题中的应用,涵盖含冷却期和含手续费两种场景。通过状态机模型定义买入、卖出及冷冻期状态,推导状态转移方程,并提供 C++ 代码实现。重点在于理解状态之间的转换逻辑与初始化细节,帮助读者掌握此类动态规划问题的解法。
C++ 中使用 rand() 和 srand() 函数生成伪随机数的方法。rand() 函数返回 0 到 RAND_MAX 之间的值,需配合 srand() 初始化种子以避免序列重复。由于 RAND_MAX 的限制,直接取模可能不适用于大范围数值,文章提供了通过除法扩大范围及多次随机提高精度的方案。内容涵盖生成 [0,n] 和 [n,m] 区间随机数的代码示例,以及完整的程序实例演示。

介绍 C++ 哈希表原理与实现。涵盖 unordered_map/set 使用、哈希概念、冲突处理、负载因子、哈希函数设计及全域散列防御。详解开放定址法(线性探测、二次探测)与链地址法实现,包含扩容策略、状态标识及关键代码。对比红黑树与哈希表性能差异,解析 STL 容器底层机制。

C++ 异常处理机制,涵盖基本语法(try/throw/catch)、异常匹配原则及函数调用链传播规则。重点讲解了异常安全注意事项,指出构造和析构函数应避免抛异常以防资源泄漏。同时对比了旧版异常规范与 C++11 的 noexcept 关键字,并列举了标准库提供的各类异常类及其用途,帮助开发者构建健壮的异常处理体系。

介绍基于C++的学生宿舍管理系统,涵盖系统概述、核心功能(宿舍/学生管理、分配、费用、安全)、技术实现(类封装、文件操作、界面)及扩展方向(网络化、数据分析)。适合课程设计或毕业设计参考。

在 Trae 编辑器中配置 C++ 编译环境的步骤。涵盖 CMake 安装与设置,以及三种编译器方案:MSVC、GCC (MinGW) 和 Clang (LLVM)。内容包括环境下载、插件安装(如 CMake Tools)、配置文件(launch.json/settings.json)编写,以及使用 CMakeTool 进行构建和调试的具体操作。旨在帮助开发者快速搭建 C++ 开发环境。

C++ 模板进阶特性涵盖 typename 与 class 的区别、非类型模板参数、模板特化及分离编译问题。typename 用于嵌套类型解析;非类型参数需为编译期常量且通常为整型;函数模板和类模板支持全特化与偏特化以定制实现;模板分离编译需注意声明与定义位置以避免实例化错误。掌握这些有助于理解 STL 底层及优化模板代码。

汇总了 2024 年第十五届蓝桥杯省赛 C/C++ 大学 B 组七道真题的解题思路与代码实现。涵盖握手问题(组合数学)、小球反弹(几何模拟)、好数(数位模拟)、R 格式(高精度运算)、宝石组合(GCD/LCM 推导)、数字接龙(DFS 搜索)及拔河(区间前缀和)。附带鸽巢原理、高精度加减乘除模板、快速幂及最大公约数等核心算法知识点,适合参赛选手复习参考。

深入讲解了 C++ 模板进阶技术,涵盖模板特化、类型萃取与可变参数模板三大核心主题。内容详细阐述了如何处理指针、数组等复杂类型的特化,如何利用类型萃取在编译期获取类型信息,以及如何使用可变参数模板和折叠表达式处理任意数量参数。此外,文章还通过编译期斐波那契数列展示了模板的编译期优化能力,并总结了常见陷阱与解决方案,旨在帮助开发者提升泛型编程的实战能力。
汇总了 LeetCode 169、179、215、229 四道题目的 C++ 解决方案。主要涉及寻找多数元素(哈希表、排序、摩尔投票法)、拼接最大数(自定义排序)、数组中第 K 大元素(快速选择、堆排序)。文章提供了多种实现思路及代码示例,重点分析了不同算法的时间复杂度与适用场景。

系统梳理动态规划中的子序列问题,包括最长递增子序列 (LIS)、摆动序列、LIS 个数、最长数对链、最长定差子序列、斐波那契子序列及等差数列等。通过分析状态定义与转移方程,展示从 O(N²) 到 O(N) 的优化技巧,并提供 C++ 代码实现,帮助读者掌握线性 DP 套路。

整理自剑指 Offer 第 2 版链表专题,包含从尾到头打印、删除节点、去重、倒数第 K 个节点、反转、合并、公共节点、复杂链表复制、环检测及入口节点查找等十道经典算法题。通过递归、栈、双指针、哈希表等多种方法提供 C++ 代码实现,解析了哨兵节点、快慢指针等核心解题技巧与边界条件处理。

介绍 LeetCode 138 题'复制带随机指针的链表'的解法。题目要求深拷贝一个包含 random 指针的单链表。难点在于 random 指针指向任意节点,直接复制难以建立映射关系。提出三步原地复制法:第一步在原节点后插入复制节点;第二步修正复制节点的 random 指针;第三步拆分链表恢复原状并得到新链表。该方法时间复杂度为 O(n),空间复杂度为 O(1),无需哈希表辅助,是解决此类问题的经典高效方案。
一款名为 stltostp 的命令行工具,用于将 STL 网格文件转换为 STEP 实体文件,解决 3D 打印模型在 CAD 软件中的兼容性问题。文章详细说明了该工具的优势,包括独立运行、高效处理、精度可控及开源免费。内容涵盖完整的安装流程、基础转换命令、输出信息解读、转换效果对比、进阶参数调节以及适用场景,帮助用户实现从 3D 打印到工程设计的无缝衔接。