自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++模板入门指南

C++模板技术通过泛型编程有效减少代码冗余。文章介绍了函数模板和类模板的基本概念:1)函数模板使用template关键字定义泛型T,可根据传入参数自动实例化;2)类模板允许创建通用数据结构(如Stack类),通过显示实例化支持多种数据类型。重点讲解了隐式实例化(自动类型推导)和显示实例化(强制指定类型)两种方式,并比较了模板与typedef的区别,强调模板在支持多类型需求时的优势。模板技术避免了针对不同数据类型编写重复代码的问题,提高了代码复用性和开发效率。

2025-11-18 19:23:54 645 4

原创 快速排序递归方法详解

在这里,我们想要让基准值左边的值全是小于基准值的数,基准值右边的数全是大于基准值的数,我们可以从左向右和从右向左依次遍历。首先,我们定义一个left,再定义一个right,如果在left位置处的值小于基准值,left++,如果大于基准值,我们在看函数在right处的值,如果在right的值大于,我们right--,如果我们在right上的值小于基准值,我们将left上的值和right上的值进行交换,接着,我们将left++,right--,继续上面的过程,直到当我们的left>right时,我们停止遍历。

2025-11-14 08:28:57 350 6

原创 深度解析C++类与对象操作(1)

int _month;int _day;DDate b;a.Print();return 0;我们在这个案例中调用函数时,这里的this指针实际上是a的地址,然后编译器就可以通过a的地址找到a的成员变量,进而打印a的成员变量。C++虽然不能在成员函数形参的位置显示这个this指针,但是却可以在函数体内显示。

2025-11-06 17:49:25 756 8

原创 数据结构基础:栈与队列详解

栈中,我们肯定需要存入数据,这里我们typedef一下,将int定义为栈数据类型,方便一下以后将栈的数据类型改为我们其他需要的数据类型。接着,我们需要一个栈数据指针来存储栈的数据,需要一个整形来存储栈顶数据所在位置,还需要一个整形来存储当前栈的容量。int top;}ST;首先,队列我们需要一个头节点,一个尾节点,要有节点的话,我们还需要定义节点类型。队列节点和链表节点一样,都需要下一个节点的指针和这个节点所存储的数据。然后为了方便我们判断队列中有多少个数据,我们还定义个整形来表示队列数据个数。

2025-10-23 14:07:30 700 8

原创 排序算法(1)

在我们的生活中,我们会有许多地方会用到排序的内容,比如说:在我们学校中,我们会按照成绩的高低来进行排序;又好比,每天我们打开抖音,再搜索栏目会看见许多词条,这些词条会按照热度从高到低进行排序。由此可见,排序在我们的日常中非常的重要。那在我们编程语言中,我们是不是有多种排序方式。首先,在我们学习c语言的时候,你的c语言老师一定教过你冒泡排序,冒泡排序无疑是一种经典的排序算法。

2025-09-14 10:28:27 842 5

原创 二叉树入门:从概念到代码全解析

本文介绍了二叉树的基本概念和实现方式。主要内容包括:1. 树结构的基础概念(节点、度、层次等)和表示方法;2. 二叉树的定义及特殊类型(满二叉树、完全二叉树);3. 二叉树的两种存储结构:顺序存储(适用于完全二叉树)和链式存储;4. 堆的概念及实现,包括堆的初始化、插入、删除等操作;5. 堆排序的两种实现方法。文章通过图示和代码示例,详细讲解了使用顺序结构实现堆及其相关操作的过程,包括向上调整和向下调整算法,并演示了堆排序的具体应用。

2025-08-01 01:52:14 2278

原创 深入理解带头双向循环链表

链表有一个个节点组成,该链表节点分为三个部分:指向上一个节点的指针,指向下一个节点的指针,和该节点所保存的内容。}LTNode;这里我们将int定义为LTDateType,方便我们后面有需要对数据类型进行修改,再将该节点进行名字的简化,方便我们后面的操作。节点中,我们放入了数据和两个指针,指针next用于指向下一个节点,指针prev用于指向上一个节点。本篇文章,我们详细讲述了带头循环双向链表的增删查改并且简单描述了链表的分类。

2025-07-29 14:59:06 1864 2

原创 链表操作全解析:增删查改详解

链表如果进行尾插,尾删,任意位置后的插入与删除时间复杂度都为O(1),与顺序表的o(N)相比,省时间。并且,链表不会浪费空间内存,可以灵活扩容,没有连续内存限制。但是链表使用需要从头链表开始遍历,否则无法找到某一位置节点前一节点位置,而这点顺序表却可以做到。并且,链表若进行头插,头删等,时间复杂度过高,没有顺序表方便,所以,读者在日后可以根据具体情况自主选择是使用链表还是顺序表。再见!

2025-07-24 21:51:38 1831 2

原创 顺序表:动态数组的高效应用

在这里,我们首先要得到想要的插入位置,所以我们先创建一个简单的查找函数,利用循环,直接查找位置,得到pos的值,得到位置后,直接传入新函数,先将该位置以后的数据向后挪动一位,然后直接插入数据,再将size++即可,在此之前,我们还需判断顺序表容量是否充足,所以我们用了我们之前创建的check函数。在这里,我们要对一个顺序表进行初始化,首先要传入顺序表首元素的地址,如果直接传入该数据表的话,改变的是形参,无法对需要初始化的顺序表进行初始化。在这里,我们初始化,首先把顺序表中数组首元素初始化为NULL;

2025-07-11 15:53:58 324 1

空空如也

空空如也

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

TA关注的人

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