- 博客(15)
- 收藏
- 关注
原创 Git 协作开发指南
这篇Git协作开发指南为初学者提供了简明实用的Git操作流程。文章从Git安装配置开始,详细介绍了两种代码上传方式(本地无代码和有代码的情况),说明了团队成员的代码下载方法,并给出了日常协作的最佳实践,包括代码更新、提交和冲突解决等关键步骤。最后还列举了常见问题的解决方案,如修改提交说明、撤销add操作等。全文采用分步骤说明的方式,语言简洁清晰,特别适合Git新手快速上手团队协作开发。
2025-08-12 10:01:03
397
原创 三种经典寻路算法对比
本文对比了三种经典寻路算法:BFS、DFS和A*。BFS采用"逐层扩散"策略,保证最短路径但内存占用高,适合小地图;DFS通过"深度探索+回溯"节省内存但不保证最短路径,适合资源有限场景;A结合启发式函数,在高效性和最短路径间取得平衡,是游戏寻路和机器人导航的首选。选择算法需权衡路径质量、内存占用和计算效率,BFS适合严格最短路径的小地图,DFS适合内存受限场景,而A则是大地图高效寻路的最佳选择。
2025-08-08 20:21:41
1245
原创 计算机网络笔记总结
计算机网络基础概述与分层结构 本文系统梳理了计算机网络的基础知识和分层架构。首先介绍了计算机网络的定义、组成(资源子网与通信子网)及分类标准(拓扑结构、覆盖范围、传输方式)。重点阐述了OSI七层模型和TCP/IP四层模型的对应关系及各层功能,包括物理层的传输介质与复用技术、数据链路层的帧结构与通信协议、网络层的IP地址分类与子网划分等核心内容。文中详细说明了物理层的四大特性、数据链路层的三个基本问题(封装成帧、透明传输、差错检测)以及网络层的关键协议(ARP、ICMP等)。同时涵盖了VLAN划分、CSMA/
2025-08-01 18:45:59
1044
原创 内核链表超详细讲解(含源码)
Linux内核链表采用无数据域的双向循环链表设计,通过将链表节点嵌入宿主结构体实现通用性管理。其核心特点是:1) 使用list_head结构体仅包含指针;2) 通过container_of宏利用偏移量定位宿主结构体;3) 提供统一操作接口。相比传统链表,具有解耦数据结构、零成本抽象、高内存效率和类型安全等优势,广泛应用于进程管理、设备驱动等内核模块。该设计体现了"组合优于继承"的思想,通过宏展开实现高性能操作,为系统编程提供了优秀的架构范例。
2025-07-24 16:56:23
1417
原创 C++模版
本文介绍了C++模板的使用方法,包括函数模板和类模板。函数模板部分展示了声明方式、运算符重载、模板重载、变量传入和缺省参数等特性;类模板部分讲解了基本语法、特化(完全特化和局部特化)、变量传入和嵌套使用。文中通过多个代码示例演示了模板的具体应用,如比较函数模板、自定义类型处理、类模板继承等,并强调了模板必须显式调用的特点。最后还展示了类模板的嵌套使用,通过实现类似std::pair的功能来说明模板组合的灵活性。
2025-07-22 19:47:32
469
原创 C++STL算法篇
C++STL算法基础摘要 本文介绍了C++STL中的核心算法组件,包括: 迭代器:分类为正向/反向/常迭代器,按功能分为随机/双向迭代器,不同容器支持不同类型迭代器 仿函数:通过重载()运算符实现函数行为的类,常用于比较准则,标准库提供多种仿函数模板 函数包装器(function):将函数指针封装为对象,支持普通函数、仿函数、成员函数等多种调用方式 函数适配器(bind):通过绑定参数和占位符调整函数接口,适配特定调用需求 文中包含代码示例演示了各类组件的具体用法和实际应用场景。
2025-07-18 20:30:12
1380
原创 C++ STL库初识:迭代器、仿函数、包装器与适配器
本文介绍了C++ STL中的四个核心组件。迭代器是类中类,通过运算符重载模拟指针行为,包含正向/反向/常迭代器等类型,不同容器支持不同迭代器类型。仿函数通过重载()运算符实现类调用行为,常用于比较准则。函数包装器将函数指针封装为对象,支持普通函数、仿函数和成员函数的调用。函数适配器通过绑定默认参数实现特定调用方式,常用于适配接口。文中包含各类组件的代码示例和使用场景,展示了STL的灵活性和强大功能。
2025-07-15 10:40:20
623
原创 c/c++Easyx图形界面编程入门
本文摘要:Easyx图形界面编程教程介绍了C++中使用Easyx库进行图形绘制的基本操作。主要内容包括:1)窗口创建与设置(initgraph、背景颜色);2)基本图形绘制(点、线、矩形、圆形等);3)文字处理(格式设置、居中显示);4)鼠标消息处理;5)双缓冲绘图技术;6)帧率控制方法;7)图片加载与透明处理;8)音乐播放功能(mciSendString)。教程提供了从基础图形绘制到多媒体处理的完整开发指导,适合图形界面编程初学者学习使用Easyx库。
2025-07-14 16:55:12
1093
原创 c++智能指针详解以及内存泄露检测
本文介绍了VS中内存泄漏检测方法和智能指针的使用。内存泄漏检测可通过_CRTDBG_MAP_ALLOC和_CrtDumpMemoryLeaks()函数实现,在Debug模式下追踪内存分配与释放。智能指针部分重点讲解了unique_ptr和shared_ptr:unique_ptr具有独占所有权,支持移动操作和自定义删除器;shared_ptr通过引用计数实现共享所有权。两种智能指针都提供了安全的指针管理方式,有效避免内存泄漏。文章还详细说明了如何构造对象、使用删除器以及指针操作方法。
2025-07-14 10:45:23
691
原创 十大排序算法函数封装(1)
本文介绍了五种常见的排序算法:冒泡排序、选择排序、插入排序、希尔排序和基数排序,并给出了相应的C语言实现代码。冒泡排序通过两两比较交换,时间复杂度O(n²);选择排序每次找出最小值放到起始位置,同样为O(n²);插入排序将待排数据插入有序部分;希尔排序引入步长概念进行分组插入排序;基数排序利用数组下标天然有序,时间复杂度O(n)但限制较多。每种算法都附有示例数据和核心代码片段,展示了其具体实现过程。
2025-07-13 14:41:42
241
原创 《链表:结构、优势、类型及操作实现》
本文详细介绍了链表这种线性数据结构,包括其定义、结构、核心优势,对比了链表与数组的差异,并阐述了适合使用链表的场景。同时,给出了多种链表类型的 C 语言实现代码。
2025-07-12 10:28:32
1418
原创 基础算法之差分前缀和
摘要:本文系统介绍了差分和前缀和这两种互逆的数组处理技巧。前缀和通过预计算累加值实现O(1)时间复杂度的区间查询,差分则通过记录相邻元素差值实现O(1)时间的区间修改。文章详细阐述了两种算法的定义、实现代码和核心应用场景,并以蓝桥杯例题"小明的彩灯"展示了差分处理大规模区间修改的实际应用。前缀和与差分的结合使用,能高效解决数组区间操作问题,大幅提升程序性能。
2025-07-11 20:30:00
1032
原创 文件IO操作
系统IO与标准IO对比及基本API概述 系统IO与标准IO是两种不同的输入/输出实现方式,主要区别在于缓冲机制、接口类型和应用场景。标准IO提供用户空间缓冲和文件指针接口,适合批量文件处理和格式化I/O;系统IO则使用内核缓冲和文件描述符,适用于网络通信、设备驱动等实时场景。基本API包括: 文件操作:open()/close()打开关闭文件 数据读写:read()/write()进行文件读写 位置控制:lseek()调整文件读写位置 系统IO提供更底层的文件控制能力,但标准IO通常更易用且跨平台性更好。
2025-07-10 09:51:31
406
原创 linux常用命令
本文总结了Linux系统中常用的基础命令及其用法。主要内容包括:文件操作命令(ls、cd、cp、rm、mv等)用于列出、切换、复制、删除和移动文件;文本处理命令(cat、head、tail、grep等)用于查看和搜索文件内容;系统管理命令(date、clear、pwd等)用于显示时间和清屏;压缩解压命令(tar)支持多种格式的压缩/解压;帮助命令(man)提供命令使用说明。文章详细列出每个命令的基本功能和典型用法示例,是Linux初学者快速掌握基础命令操作的实用参考。
2025-07-09 11:05:24
148
原创 二分查找算法模版
二分查找(Binary Search)是一种在有序数组中高效查找特定元素的算法,也称为折半查找。其核心思想是通过不断将搜索区间缩小一半,直到找到目标元素或确定目标不存在,时间复杂度为 O(log n)。查找 “大于等于 x 的最小值” 用 mid = (l + r) / 2,收缩规则为 >=则右边界左移,否则左边界右移。查找 “小于等于 x 的最大值” 用 mid = (l + r + 1) / 2,收缩规则为 <=则左边界右移,否则右边界左移。
2025-07-08 20:17:52
935
1
《基于网络交互与图形界面的中国象棋对战系统》
2025-07-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人