- 博客(10)
- 收藏
- 关注
原创 Boost Aiso笔记(附代码示例)
起源于Boost库,是一款专为网络I/O、定时器、串行端口通信设计的库,提供了同步和异步的编程模型,用以简化网络和低级I/O的操作。它的设计初衷是提供一套简洁、一致且功能全面的接口,以满足开发者在多样化网络编程场景下的需求。
2025-08-19 16:07:35
903
原创 Qt实现目录统计工具:递归扫描文件与可视化展示
本文介绍了一个基于Qt框架开发的目录统计工具,能够递归扫描指定目录并统计文件/目录数量、代码行数等信息。工具核心包括DirectoryScanner类(实现递归扫描和行数统计)和DirectoryStats结构体(存储统计信息),支持可视化展示文件类型分布(饼图)和结果保存功能。通过QtCharts实现数据可视化,界面包含路径输入、结果展示和图表显示等功能。该工具可帮助开发者快速了解项目结构,技术要点包括Qt文件操作、递归算法和界面设计。文章提供了完整实现代码,可作为基础进一步扩展功能。
2025-08-12 21:03:24
616
原创 进程与线程笔记(自用)
本文摘要:介绍了进程与线程的基本概念及编程实现。进程作为程序执行的容器,包含CPU、内存等资源;线程是进程中的独立执行单元,可共享全局变量。重点讲解了POSIX线程库(pthread)的使用,包括线程创建(pthread_create)、等待(pthread_join)等函数。通过素数计算实验展示了多线程性能提升效果,并对比了不同线程数下的执行时间。同时介绍了线程同步机制(信号量、互斥锁、条件变量等)和进程间通信方式(管道、信号、共享内存等)。最后给出多个实践任务,包括文件统计、停车场模拟等,以巩固多线程编
2025-08-07 09:49:06
894
原创 I/O复用自用笔记
多路复用(Multiplexing)是一种高效的 I/O 处理技术,可以让单个进程/线程同时监控多个文件描述符(如套接字),并在它们就绪时进行读写操作,而不需要为每个连接创建单独的线程。# epoll_ctl(epoll_fd, OP ,s_fd,&event):对s_fd相关描述符和事件进行op操作。数组存储文件描述符,上限默认1024,遍历集合O (n),三个集合(读,写,异常),跨平台,select。##### 3.epoll() 时间轮询,O(1),不跨平台(Linux)
2025-08-07 09:46:58
392
原创 归并排序的实现(C)
归并排序是一种基于分治思想的排序算法。其核心流程分为分解和合并两个阶段:首先将数组递归二分到单个元素,然后通过双指针法将相邻有序子序列合并。算法实现包含两个关键函数:mergeSort负责递归分解,merge完成有序合并。合并过程使用临时数组存储中间结果,再回写至原数组。该算法时间复杂度为O(nlogn),空间复杂度O(n)。在实际应用中,临时数组可采用栈或堆分配方式,需根据数据规模选择合适的内存管理策略。归并排序适合处理大规模数据,是一种稳定的高效排序方法。
2025-07-21 17:03:53
435
原创 使用c实现文件统计功能
本文介绍了使用C语言实现类似Linux系统中wc命令的三种功能:字符统计、单词统计和行数统计。字符统计通过fgetc()逐字符读取并计数;单词统计通过标记连续非空白字符的方式计数;行数统计则使用fgets()逐行读取。文章详细说明了各功能的实现原理,包括文件指针重置的必要性,并提供了完整的代码示例。代码通过主函数接收文件名参数,依次调用三个统计函数,最后展示了编译和运行方法。该实现有助于深入理解文件操作函数的使用。
2025-07-12 12:30:10
821
原创 二叉树的翻转(镜像)
赋给根节点的左子树的根结点也就是pRoot->left,同时递归调用Mirror()将右子树的所有子树都进行交换,最后将pr存储的左子树的根节点赋给右子树的根节点也就是pRoot->right,到这里整颗树交换就已经完成了。,pr用来临时储存左子树根节点的地址,于此同时递归调用Mirror函数将其左子树的左右子树进行交换,将交换后的数的根节点返回。函数来翻转当前节点的右子树,并将返回的新的根节点(右子树的镜像)赋值给当前节点的左子指针。: 在完成当前节点的左右子树交换后,返回当前节点作为新的子树的根节点。
2024-11-30 23:31:45
1610
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅