- 博客(63)
- 收藏
- 关注
原创 C++——【哈希表】&unordered_map和unordered_set
C++——哈希表,开放定址法和链地址法实现;unordered_map,unordered_set封装哈希表
2026-10-23 19:38:52
304
5
原创 数据结构——刷题详解
本文介绍了顺序表和单链表的常见算法应用,包括移除指定元素、删除有序数组重复项、合并有序数组、反转链表、寻找中间节点及合并有序链表等。重点讲解了双指针法、尾插法及快慢指针技巧,并给出关键代码实现,旨在提升数据结构的操作效率
2026-09-08 17:11:56
196
6
原创 Linux基础开发工具1——【yum/apt】,【vim】,【gcc】
Linux基础开发工具:包管理器yum/apt,编辑器vim,编译工具gcc
2026-09-03 19:51:37
405
23
原创 C++(STL)——string(二)
string模拟实现的代码说明,包括string.h和string.cpp的关键点。需要概括主要功能:模拟实现string类,包含构造、析构、拷贝、赋值、扩容、插入删除查找、运算符重载、流插入提取等,并解释了深拷贝和现代写法(swap)。摘要应简洁。</think>该内容展示了C++中string类的模拟实现,涵盖构造、析构、拷贝、赋值、扩容、插入删除、查找、运算符重载及流操作等核心功能,并介绍了深拷贝及现代写法(swap)的应用。
2026-08-31 17:46:43
222
原创 C/C++ 内存管理全解析:从区域划分到 malloc/free 与 new/delete 的对比
🌈✨🍀每一行代码都是成长的脚印👣,每一次调试成功都是对坚持的回应。
2026-08-18 18:26:52
246
1
原创 C++模板——模板初阶(函数模板,类模板)&模板进阶(非类型模板参数,模板的特化,模板分离编译)
本文介绍了C++模板的基础知识以及进阶知识,重点讲解了函数模板和类模板的使用。函数模板部分包括概念、格式、实例化(隐式和显式)及匹配原则;类模板部分简单展示了定义方式。文章强调模板不支持声明与定义分离,并通过代码示例演示了模板的实际应用。作者鼓励读者在评论区交流,共同进步。全文简明扼要,适合C++初学者快速了解模板的基本概念和使用方法。
2026-08-18 18:25:39
190
3
原创 C++类和对象(下):从构造到友元,一文吃透核心机制
本文是C++类和对象进阶内容的第二部分,主要讲解了四个核心知识点: 构造函数的初始化列表:介绍了初始化列表的语法和使用场景,强调了引用成员、const成员和无默认构造的类类型成员必须使用初始化列表初始化。 类型转换:说明了C++支持内置类型隐式转换为类类型对象,以及通过explicit关键字禁止隐式转换的方法。 static成员:区分了静态成员变量和静态成员函数的特性,包括共享性、存储位置、访问限制等,并提供了静态成员应用的实际例题。 友元机制:详细介绍了友元函数和友元类的概念,说明了友元如何突破封装限制,
2026-08-10 18:22:35
198
原创 Linux基本指令续章——Shell命令及Linux权限管理
本文介绍了Linux系统中的Shell命令运行原理及权限管理机制。主要内容包括: Shell作为命令行解释器的作用,连接用户与内核; Linux用户分类(root和普通用户)及切换方法; 文件权限的三类角色(拥有者、所属组、其他用户)和三种权限(r/w/x); 详细讲解了chmod修改权限的两种方法(符号法和八进制法); 目录权限的特殊性(x权限决定进入,w权限决定创建/删除); 权限掩码的计算原理及设置方法; 粘滞位的特殊应用场景。 文章以技术笔记形式呈现,配有操作示例和图示,适合Linux初学者系统学习
2026-08-10 18:19:51
374
原创 初始Linux操作系统及Liux基本指令的使用(一)
本文介绍了Linux操作系统的基础知识和常用指令。首先概述了Unix、苹果和Windows操作系统的起源,重点讲解了Linux系统的诞生背景和发行版本。随后详细说明了Linux基本指令的使用方法,包括pwd查看目录、ls查看文件属性、cd路径切换、touch新建文件、mkdir创建目录、rm删除文件/目录等。文章还补充了stat、tree、which、man、cat、nano等实用命令,帮助读者快速掌握Linux基础操作。通过清晰的示例和分类说明,为初学者提供了全面的Linux入门指南。
2026-05-13 21:13:30
589
1
原创 C++类和对象(中):六大默认成员函数详解与日期类实战
本文介绍了C++类和对象中的默认成员函数,包括构造函数、析构函数、拷贝构造函数和赋值运算符重载。构造函数用于对象初始化,具有自动调用、可重载等特点;析构函数用于资源清理,自动调用且一个类只能有一个。拷贝构造函数实现对象拷贝,需注意深浅拷贝问题。运算符重载允许自定义类类型对象的运算符行为,需遵循特定语法规则。文章通过代码示例详细说明了这些成员函数的使用场景和注意事项,帮助读者掌握C++面向对象编程的核心概念。
2026-05-13 21:10:48
391
原创 C++类和对象(上)——从类定义到 this 指针,解锁面向对象核心入门
文章摘要 本文深入讲解了C++类和对象的基础知识,主要包括:1)类的定义格式,包括成员变量和成员函数的声明方式;2)访问限定符public/private/protected的作用及封装特性;3)类域的概念和使用方法;4)实例化过程及对象内存对齐规则;5)this指针的原理和应用场景;6)通过Stack类的实现对比C++与C语言的面向对象差异。文中配有代码示例和内存图解,特别强调了封装思想和this指针在成员函数中的隐式调用机制,最后通过空指针调用成员函数的经典案例展示了底层实现原理。
2026-03-29 17:31:16
505
原创 C++入门——缺省参数,函数重载,引用,inline函数,nullptr的介绍和使用
C++基础特性解析 本文介绍了C++四大核心特性: 1️⃣缺省参数:支持全缺省与半缺省(右→左连续),声明时指定默认值可简化调用; 2️⃣函数重载:通过参数类型/数量区分同名函数,体现多态性; 3️⃣引用:变量的别名,需初始化且不可改绑,用于高效传参/返回,与指针互补但更安全; 4️⃣内联函数:inline建议编译器展开代码以消除栈帧开销,适合短小高频函数。 另有nullptr关键字解决NULL类型歧义问题。通过代码示例对比特性差异,帮助理解C++底层设计逻辑。
2026-03-29 17:31:05
676
原创 【数据结构】:排序(二)——归并与计数排序详解
本文介绍了归并排序和计数排序两种算法。归并排序采用分治法,通过递归分解和有序合并实现排序,时间复杂度为O(nlogn);计数排序利用哈希思想统计元素出现次数,时间复杂度为O(n+range)。文章对比了各排序方法的性能特点,包括稳定性和适用场景,并提供了完整的代码实现与测试结果。作者通过生动的代码注释和图示,帮助读者理解算法原理,鼓励技术交流与共同进步。
2025-12-06 17:16:04
883
5
原创 【数据结构】:排序(一)
本文介绍了常见的排序算法分类及具体实现方法,主要包括插入排序(直接插入排序、希尔排序)、选择排序(堆排序、直接选择排序)和交换排序(冒泡排序,快速排序)。文章详细讲解了每种算法的基本思想、代码实现和优化方法,并通过示例代码和运行结果进行验证。文章内容清晰实用,适合编程学习者参考实践。
2025-11-23 15:08:35
1068
6
原创 【数据结构】树与二叉树全解析:从概念到堆排序与链式存储实战
本文介绍了树和二叉树的基本概念及相关性质。首先阐述了树的结构特点与相关术语,包括度、层次、路径等概念。重点讲解了二叉树的特性、分类(满二叉树和完全二叉树)以及5条重要性质。文章还详细介绍了二叉树的顺序存储结构,并以堆的实现为例,展示了初始化、插入、删除等操作的代码实现,包括向上调整和向下调整算法。最后给出了测试代码的运行结果,验证了堆的基本功能实现。全文通过图文并茂的方式,系统性地讲解了树和二叉树这一非线性数据结构的基础知识。
2025-11-04 16:53:24
1053
10
原创 数据结构入门:栈与队列的实现详解
本文介绍了栈和队列的基本概念及实现。栈是一种后进先出(LIFO)的线性表,支持在固定端(栈顶)进行插入(压栈)和删除(出栈)操作。文章详细讲解了用数组实现栈的具体方法,包括初始化、销毁、入栈、出栈、获取栈顶元素等核心操作,并提供了完整的C语言代码示例。此外,还比较了数组和链表实现栈的优缺点,指出数组实现更节省空间。通过调试示例验证了代码的正确性,为数据结构学习提供了实践参考。
2025-10-20 17:07:39
656
6
原创 数据结构——链表(二)
数据结构——链表(二)摘要 本文主要讲解了顺序表与链表的对比、链表的分类以及双向链表(带头双向循环链表)的具体实现。 核心内容: 顺序表与链表对比:从存储连续性、访问效率、插入删除效率、空间利用率等方面分析了两者的差异 链表分类:按照带头/不带头、单向/双向、循环/不循环等维度介绍了8种链表结构 双向链表实现: 初始化:创建哨兵位节点 尾插/头插:详细图示和代码实现 尾删:配合判空操作和打印功能 关键点:指针调整顺序和内存管理 代码特点: 模块化设计(List.h/List.c/test.c) 清晰的断言检
2025-10-19 10:23:18
951
2
原创 数据结构入门:单链表详解——从原理到C语言实战
本文介绍了链表的基本概念和操作,重点讲解了单链表的定义、插入和删除操作。链表是一种非连续的线性数据结构,通过指针实现元素的逻辑顺序。单链表的每个节点包含数据和指向下一个节点的指针。文章详细说明了如何实现链表的尾插、头插、尾删和头删操作,并分析了各操作的时间复杂度。尾插和尾删的时间复杂度为O(N),而头插和头删则为O(1)。链表相比顺序表在动态内存管理方面具有优势,能够避免空间浪费和频繁扩容的问题。代码示例展示了链表的具体实现方法。
2025-09-24 16:50:14
1095
4
原创 数据结构入门:顺序表(SeqList)从原理到 C 语言实战
本文介绍了顺序表的基本概念、分类及操作实现。顺序表是线性表的一种,采用数组存储,具有物理地址连续的特点。文章分为静态和动态顺序表两类,详细讲解了动态顺序表的初始化、插入(尾插、头插)和删除(尾删)操作的代码实现,包括增容处理。通过头文件、实现文件和测试文件的分离,展示了模块化编程思想。顺序表的底层是数组,通过指针管理动态内存,确保数据存储的高效性和灵活性。
2025-09-22 17:12:57
880
1
原创 数据结构——算法复杂度
C++领域的学习者,专注知识拆解与代码实践,代码世界的“拆题玩家”,一边啃底层原理,一边写落地demo,主打把复杂逻辑掰成“新手能懂的样子”📖。
2025-09-20 17:36:47
873
6
原创 C++启航:从0到1,解锁面向对象编程的第一把密钥
C++领域的学习者,专注知识拆解与代码实践,代码世界的“拆题玩家”,一边啃底层原理,一边写落地demo,主打把复杂逻辑掰成“新手能懂的样子”📖。
2025-09-14 16:55:23
1076
12
原创 预处理详解
基本语法#define name stuff//后面不加分号//1.定义普通常量,如上图//2.为register创建一个简短的名字register//1.定义普通常量,如上图 //2.为register创建一个简短的名字 # define reg register //register就是寄存器 //register int num;
2025-09-11 20:17:48
991
4
原创 自定义类型:联合和枚举
本文介绍了C语言中的联合体和枚举类型。联合体(共用体)的特点是所有成员共用同一块内存空间,大小至少为最大成员的大小,并需考虑内存对齐。联合体可节省内存,如用于礼物清单设计,还可用于判断机器字节序。枚举类型通过列举可能取值增强代码可读性,相比#define更严谨且便于调试,如计算器程序中用枚举替代数字选项。枚举常量具有作用域规则,在函数内声明则仅限于该函数使用。
2025-08-25 18:49:07
375
原创 自定义类型:结构体
本文介绍了C语言中结构体的相关概念和使用方法。主要内容包括:结构体的特殊声明(匿名结构体)、自引用、内存对齐规则及优化策略;结构体传参时建议使用指针以提高效率;位段(bit-field)的定义、内存分配特点、跨平台问题及其应用场景。特别强调了位段虽能节省空间但存在可移植性问题,并指出位段成员不能直接取地址的限制。
2025-08-24 19:25:31
713
1
原创 数据在内存中的存储
但是C语言中还有16bit的short型等,另外对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如何将多个字节安排的问题。超过一个字节的数据在内存中存储的时候就有存储顺序的问题,按照不同的存储顺序,我们分为大端字节序存储和小端字节序存储。设计虽精妙,但有时候浮点数有可能是无法精确保存的,如十进制数字1.2转换为二进制,小数点后有很多位,在VS调试后可能会有些许误差。例:2^10的E是10,保存为32位浮点数为10+127=137,即10001001。
2025-08-23 19:34:28
1046
原创 C语言——内存函数
本文介绍了C语言中常用的内存操作函数及其模拟实现。memcpy用于内存块拷贝;memmove则可处理重叠内存的拷贝,通过分区域判断拷贝方向。memset用于设置内存内容,memcmp用于比较内存块内容。文章通过代码示例和内存图示详细讲解了memcpy和memmove的模拟实现过程,包括指针类型转换、拷贝方向判断等关键技术点,并提供了各函数的官方文档链接和使用注意事项。这些函数都需包含<string.h>头文件。
2025-08-22 16:46:08
910
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅