自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 【C++】string类 模拟实现

本文详细介绍了C++中string类的模拟实现过程。首先在命名空间MyTest中定义string类,包含构造函数、析构函数、访问遍历、扩容、增删改查等核心功能。重点讲解了深浅拷贝的区别及现代写法注意事项,分析了不同编译器下string类的存储机制差异,并简要介绍了写时拷贝技术。文章通过具体代码示例展示了各个成员函数和非成员函数的实现细节,包括运算符重载、迭代器设计等,帮助读者深入理解string类的底层实现原理。最后指出不同平台下字符串存储方式的差异,为C++学习者提供了有价值的参考。

2025-09-12 15:51:36 588 3

原创 【C++】string类 - 库中的常见使用

本文介绍了C++标准模板库(STL)中的string类。首先概述了STL的发展历程和优缺点,然后重点讲解了string类的使用。文章从构造函数、容量操作、访问遍历、增删改查等方面详细介绍了string类的常见成员函数,如size()、resize()、push_back()、find()等,并提供了代码示例。同时介绍了string类的非成员函数,如运算符重载和getline()等。最后指出string类功能丰富,更多细节可参考C++官方文档。本文适合C++初学者了解string类的基本使用方法。

2025-09-09 22:50:23 925 5

原创 【C++】运算符重载(日期类实现)

本文介绍了C++中运算符重载的概念与实现方法,以日期类为例详细讲解了常用运算符的重载过程。文章通过大量代码示例演示了如何为自定义类型建立与内置类型一致的运算符行为,提升代码可读性。

2025-09-05 10:09:27 836 3

原创 【C++】模板(初阶)--- 初步认识模板

本文介绍了C++模板的基本概念,以及对模板的初步认知,主要包含函数模板和类模板。文章通过交换函数和栈类示例,展示了模板如何解决代码冗余问题,并详细说明了模板的定义格式、实例化规则及类模板中成员函数声明与定义分离的注意事项。模板是C++泛型编程的基础,能有效提高代码开发效率。

2025-09-02 19:35:08 646 5

原创 【C++】动态内存管理(new/delete操作符)

本文介绍了C/C++程序的内存分布及C++的内存管理机制。主要内容包括:1. C/C++程序内存区域划分(栈、堆、数据段、代码段等);2. C++使用new/delete管理内存的方式,对比了与C语言malloc/free的区别,特别是对自定义类型会调用构造函数和析构函数;3. 深入解析了new/delete的底层实现原理,包括operator new/delete函数;4. 定位new表达式的使用场景;5. malloc/free与new/delete的区别;6. 内存泄漏的概念及危害。文章通过代码示例详

2025-09-01 21:48:45 902 3

原创 【C++】类和对象(终章)

本文介绍了C++类和对象相关的高级特性,主要包括:1. 构造函数的两种初始化方式(函数体赋值和初始化列表),以及explicit关键字;2. static成员的使用;3. 友元机制(友元函数和友元类)的突破封装;4. 内部类的定义和特性;5. 匿名对象的使用;6. 编译器在拷贝构造时的优化策略。文章通过代码示例详细说明了这些特性的使用方法和注意事项,对深入理解C++面向对象编程具有重要参考价值。

2025-08-30 23:15:11 680 1

原创 【C++】类和对象 --- 类中的6个默认成员函数

本文介绍了C++中类的6个默认成员函数的特性与使用。主要内容包括:1. 构造函数;2. 析构函数:;3. 拷贝构造函数;4. 赋值运算符重载;5. 取地址操作符重载:(1)包括普通和(2)const版本,通常使用默认实现。文章通过示例代码详细说明了各成员函数的特性和应用场景,特别是资源管理时的注意事项

2025-08-27 22:21:50 673 1

原创 【C++】认识类和对象

本文是关于类和对象入门基础认识。介绍了C++中类的基本概念、定义方式和特性。主要内容包括:1. 类的定义;2. 类的实例化和大小计算;3. this指针的原理与特性;4. 对比C语言和C++实现栈的差异,展示C++通过封装实现的代码简化优势。文章系统性地讲解了从类定义到对象使用的全过程,重点突出了C++面向对象编程中封装、this指针等核心概念的应用价值。

2025-08-22 13:20:55 806 1

原创 Linux环境搭建(xshell) -- 云服务器安装

本文介绍了Linux系统通过云服务器安装的环境搭建。详细讲解了云服务器的购买流程、Xshell远程终端软件的安装,以及如何使用Xshell连接Linux服务器。文章还说明了root账号与普通子账号的区别,包括子账号的创建、密码设置、重置和删除等操作。通过云服务器安装Linux既简单又经济,适合多人共享使用,是学习Linux系统的理想选择。

2025-08-18 21:40:46 900 10

原创 【C++】入门篇

本文系统介绍了C++98标准中的关键语法特性,包括: 输入输出机制; 缺省参数的使用规范; 函数重载; 引用的本质; 内联函数; C++11新增特性:auto类型推导、范围for循环和nullptr空指针。内容涵盖从基础语法到高级特性的完整知识体系,通过代码示例详细解析各特性的实现原理和使用注意事项。

2025-08-14 01:27:40 809 4

原创 【C++】命名空间(namespace关键字)

本文介绍了C++中命名空间的namespace关键字的使用方法。主要内容包括:1. 命名空间的定义方式,包括常规定义、嵌套定义和多文件定义;2. 命名空间的三种使用方法:完全展开、作用域限定符和部分引入;3. 不同作用域(全局、局部和命名空间)中变量访问的优先级规则。

2025-08-10 01:12:23 1300 3

原创 【数据结构】排序(sort) -- 计数排序

本文介绍了计数排序的基本原理和实现方法。

2025-08-08 20:57:22 455 1

原创 【数据结构】排序(sort) -- 归并排序(merge sort)

本文介绍了归并排序算法的实现原理与方法。归并排序采用分治思想,通过递归或非递归方式将数据分解为最小单元后两两归并排序。文章详细讲解了递归实现的分解与合并过程。文中提供了递归和非递归两种版本,并针对非递归实现中的边界条件处理给出了解决方案。

2025-08-08 03:32:58 1158

原创 【数据结构】排序(sort) -- 交换排序(冒泡&快排)

本文介绍了两种交换排序算法——冒泡排序和快速排序。两种算法各具特点,其中快速排序综合性能更优,在实际应用中更常见。本文章重点详细介绍了快速排序的思想和实现:hoare、挖坑法和前后指针三种划分方法,随机选key和三数取中两种优化方案,以及快速排序的非递归实现。

2025-08-07 15:58:23 791 1

原创 【数据结构】排序(sort) -- 选择排序

本文介绍了两种典型的选择排序算法:简单选择排序和堆排序。文章详细阐述了两种算法的基本思想、实现思路、代码示例和特性对比,为理解选择排序提供了全面的参考。

2025-08-05 16:15:04 605

原创 【数据结构】排序(sort) -- 插入排序

本文介绍了插入排序的算法:直接插入排序和希尔排序。文中提供了两种算法的C语言实现代码及详细讲解。

2025-08-04 20:22:28 865

原创 【数据结构】二叉树(binary tree)

摘要:本文系统介绍了二叉树的基本概念、特性和实现方法。阐述了二叉树的定义,性质实现及其证明,然后讲解了三种特殊二叉树的结构特征。此外,详细说明了前序、中序、后序和层序四种遍历算法实现。提供了二叉树创建与销毁的实现。同时还介绍了结点、叶子结点个数、第k层结点的计数,查找值为x的结点等基本操作的递归算法。全文通过图文并茂的方式,全面展示了二叉树这一重要数据结构的关键知识点。

2025-08-04 03:02:08 1036

原创 【数据结构】树(tree)- 基础概念

本文介绍了树这种非线性数据结构的基本概念和术语。还有树的表示方法---最常用的孩子兄弟表示法。文章通过图示详细说明了各种术语概念,为理解树结构提供了基础认知。

2025-08-01 08:00:00 905

原创 【数据结构】堆(heap)

堆是一种基于完全二叉树的数据结构,分为大根堆(父节点≥子节点)和小根堆(父节点≤子节点)。堆的核心操作包括:1. 向下调整算法(用于删除堆顶元素后调整堆结构);2. 向上调整算法(用于插入新元素后调整堆结构)。堆的典型应用包括堆排序和TOP-K问题。

2025-07-31 08:00:00 647

原创 【链表】环形链表

本文详细分析了环形链表问题的解决方法。内容包括了:1. 环形链表结构特点。2. 判断链表是否有环的快慢指针法,并证明该方法相遇和不相遇的情况。3. 寻找环入口的两种方法:一是利用相遇点到环入口距离等于头结点到环入口距离的结论;二是将问题转化为求两个链表的交点问题。文章提供了完整的代码实现和详细的数学证明过程,为环形链表问题提供了系统的解决方案。

2025-07-25 08:00:00 1547

原创 【数据结构】线性表概括

概括线性表中的各个结构:顺序表、链表;栈、队列。

2025-07-23 10:51:08 690

原创 【数据结构】队列(queue)

队列的顺序存储结构和链接存储结构的实现。分别采用了循环队列和链队列进行实现。包含初始化,判空,入队,出队等队列的基本操作实现。

2025-07-22 09:00:00 657

原创 【数据结构】栈(stack)

对于数据结构中关于栈的理解,栈包含顺序栈和链栈,文章实现了顺序栈(动态)和链栈。顺序栈(动态)采用了动态顺序表实现;链栈采用了无哨兵头结点的单链表实现。

2025-07-19 23:29:44 899

原创 【数据结构】链表(linked list)

介绍链表相关的重要知识,详细介绍了简单的链表:无头非循环单链表 和 复杂的链表:有头循环双链表的实现与解释。

2025-07-17 17:51:04 906

原创 【数据结构】顺序表(sequential list)

介绍顺序表的实现操作,顺序表包含静态顺序表和动态顺序表。

2025-07-10 19:21:12 1202

原创 【数据结构】复杂度分析

时间复杂度与空间复杂度的分析理解

2025-07-08 19:49:18 621

原创 【指针(4)-- 深入理解指针】

介绍一些指针使用:字符指针、数组指针、函数指针、函数指针数组

2025-07-03 16:01:14 770

原创 【指针(3)-- 数组与指针】

介绍数组与指针之间的联系。包括详细介绍了一维数组的数组名是理解,指针访问数组,以及一维数组传参的本质,也有二级指针的介绍,指针数组的介绍。

2025-04-17 09:00:00 919

原创 理解传值与传址的区别

详细讲述在C语言中使用函数时传值调用与传址调用的区别

2025-03-26 15:01:47 1052 4

原创 【指针(2)-- 使用指针的技巧】

使用指针时,难免遇到一些问题,比如当指针被const修饰,或是不小心对野指针进行了访问,亦或是当判断空指针时,为什么要用assert来实现?本篇文章都可以为你解答:关于const的使用方法;关于野指针的产生与规避;关于assert断言表达式真假等问题。这些都是我们理解指针的技巧,掌握它们,一定会大大提高大家写代码的准确性。

2025-03-22 19:22:15 2258 10

原创 【指针(1)-- 认识指针的基础】

从认识指针到使用指针。本文涵盖了从内存到地址(指针)的基本认识,以及指针运算等一阶指针的基本操作。

2025-03-19 15:41:00 1207 12

原创 数据的存储---整型、浮点型

一个变量的创建需要在内存中开辟空间,而开辟的空间大小是由数据类型决定的。整型、浮点型在内存中的储存是有很大差异的,本篇文章便详细介绍了它们各自的存取操作方法!

2025-03-14 09:00:00 915 9

原创 整型提升、算数转换

表达式求值时需要注意两种规则:1.整型提升是用于计算字符型和短整型的计算规则;2.算术转换是用于不同类型之间的计算规则。

2025-03-07 12:21:31 674 4

原创 C语言--扫雷游戏

扫雷游戏代码的一步步实现与解释

2025-03-03 09:00:00 2818 6

原创 C语言--三子棋

三子棋游戏代码一步步实现与解释

2025-03-01 13:58:48 985

原创 猜数字游戏+随机数的生成

在C语言中,猜数字游戏的实现,首先需要产生随机数,随机数需要使用到rand,srand,time三个函数;然后,需要理解游戏的实现逻辑;最后才能实现代码

2025-02-19 13:09:11 934 2

原创 C语言-函数递归

函数递归详解

2025-02-18 09:00:00 1111

原创 分支语句和循环语句

本篇文章文章包含了对分支语句if、switch,循环语句while、do...while、for,以及break、continue的解释

2025-02-13 09:00:00 1874

原创 折半查找(二分查找)

关于折半查找(二分查找)的运用理解详解。二分查找,一种高效的搜索策略,利用有序数组,通过不断缩小搜索范围,迅速定位目标元素

2025-02-10 09:00:00 998

原创 关键字typedef、static

关与C语言中常见关键字typedef和static的一些用法与解释。

2025-02-06 09:00:00 949

空空如也

空空如也

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

TA关注的人

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