自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

《基于网络交互与图形界面的中国象棋对战系统》

项目描述 本项目是一个基于网络交互与图形界面的中国象棋对战系统,主要由客户端和服务器两部分构成,借助图形化界面为玩家提供直观且便捷的中国象棋对战体验。 客户端部分 1.图形界面框架:通过 Application 类实现了一个图形界面应用程序的基本框架,负责窗口的创建、消息处理、帧率控制以及场景管理等功能。Scene 类作为场景的基类,不同的场景(如登录场景、游戏场景)可以继承该类并实现具体的绘制和更新逻辑。 2.用户界面设计:运用自定义的 GUI 库,包含多种控件,如文本按钮、图片按钮、输入框、复选框等,方便用户进行操作。例如,在登录场景中,用户可以输入用户名和密码进行登录或注册;在对战大厅场景中,用户可以查看其他在线用户并发起对战邀请。 3.游戏场景管理:GameScene 类负责游戏场景的具体逻辑,包括棋子的绘制、移动、吃子、悔棋等操作。同时,支持保存和加载棋谱,方便玩家回顾和分析棋局。 4.网络通信:实现了与服务器的网络通信功能,通过 TcpClient 类进行数据的发送和接收。玩家在登录、注册、发起对战、移动棋子等操作时,客户端会向服务器发送相应的请求,并接收服务器的响应。 服务器部分 Server 类负责处理客户端的连接和请求,管理用户信息和对战状态。服务器接收客户端发送的消息,根据消息类型进行相应的处理,并将处理结果返回给客户端。 消息协议 使用 Message 类定义了消息的格式和类型,包括登录、注册、获取用户列表、对战、选择棋子、移动棋子等多种消息类型。通过 JSON 格式进行消息的序列化和反序列化,方便不同平台之间的通信。 总体而言,该项目为玩家提供了一个完整的中国象棋对战平台,支持用户注册、登录、对战、悔棋、求和等功能,同时具备良好的用户界面和网络交互能力。

2025-07-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除