自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Linux】——进程概念(万字解读)

计算机管理硬件,先用struct结构体描述,再用多种数据结构进行组织,这里为什么是struct呢?因为linux是用c语言写的。

2024-08-17 21:27:04 6768 133

原创 【C++】——红黑树(手撕红黑树,彻底弄懂红黑树)

我们之前都学过ALV树,AVL树的本质就是一颗平衡二叉树,它的作用就是查找,插入和删除节点,最坏的时间复杂度都是O(logn)的,同时维护的高度差都是小于等于1的,但是也就是因为这个原因才被红黑树所替代红黑树是一种自平衡的二叉查找树,是一种高效的查找树。它是由 Rudolf Bayer 于1978年发明,在当时被称为平衡二叉 B 树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的红黑树。

2024-07-26 22:00:40 1377 21

原创 【Linux】——基础指令

以上就是常用的基本指令了,其中每个指令有每个指令的细节,除了少数几个简单的,这里需要去理解记忆,其实还有很多,但是那些并不常用,需要的时候用man查找用法就行了。

2024-07-21 20:44:36 1041 53

原创 【C++】——AVL树(详细解读)

对于AVL的定义来说首先我们肯定是模板,然后我们的结构为三叉链,同时我们还需要一个平衡因子去平衡高度//三叉链int _bf;//平衡因子AVLTreeNode(const pair& kv)//构造函数, _kv(kv), _bf(0){}插入位置状态操作在parent的左结点(subL)的左子树(subL)上做了插入元素左左型右旋在parent的左结点(subL)的右子树(subLR)上做了插入元素左右型左右旋在parent的右结点(subR)的。

2024-06-27 17:15:47 945 20

原创 【C++】——多态(详解)

多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了 Person。Person对象买票全价,Student对象买票半价。1. 必须通过基类的指针或者引用调用虚函数2. 被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写这里就是典型的多态,是哪个对象的指针就去调用哪个对象里面的值,做到多态的原理,同时这里必须是指针或者应用,这里是不能传值的。从上面我们可以看到虚函数的定义是怎么的虚函数:即被virtual修饰的类成员函数称为虚函数。

2024-06-26 08:00:00 2301 9

原创 【C++算法】——高精度(加,减,乘,除)

以上高精度算法,加法和乘法比较简单,除法和减法需要一点细节理解加法没有去前导零的操作,其他都有,以上就是高精度的全部内容了,希望对你有所帮助。

2024-06-23 23:07:58 1197 10

原创 【C++】——二叉搜索树(详解)

以上就是搜索二叉树的大概内容了,希望对你有用。

2024-06-23 10:00:00 878 11

原创 【C++】——继承(详解)

以上就是继承的全部内容了,希望对你有所帮助。

2024-06-12 18:42:11 1335 19

原创 【C++】——Stack与Queue(含优先队列(详细解读)

优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。 队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素,另一端提取元素。

2024-06-09 20:18:37 1360 20

原创 【C++】——list模拟实现(包懂的,细节满满)

list的模拟实现和string和vector的有区别的,但是也有相同。区别:list的迭代器底层和其他两个迭代器底层有很大区别,因为list的链式结构决定了与它们两个的不一样相同:迭代器用法大致一样,其他成员函数的使用也大致一样。本章不仅仅会模拟实现list,同时里面涉及的诸多细节也会一一解释,所以这次的模拟实现也可以是对之前的学习的总结和回顾。目录前言list总体框架一 list结点二 list类框架三 list迭代器3.1 list迭代器框架3.2 list常用迭代器。

2024-06-04 13:27:54 1184 25

原创 【C++】———list容器

1.list容器简单来说其实就是之前的链表结构。2.这里的list用的是双向带头结点的循环链表。目录前言一 构造函数二 析构函数~list();三 赋值运算符重载四 迭代器4.1 正向迭代器4.2 反向迭代器​ 五 容量函数六 修改器6.2 插入数据和删除数据6.erase()七 操作总结以上就是list的全部内容了,可能还有一些函数没有说明,会放在list模拟实现里面说明,list和之前的vector的操作都是大差不差的,主要的区别在于底层的实现 🎉🎉。

2024-06-01 23:33:49 1300 23

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

string的模拟实现其实就是增删改查,只不过加入了类的概念。为了防止与std里面的string冲突,所以这里统一用String。目录前言一 初始化和销毁1.1 构造函数1.2 析构函数二 迭代器实现三 容量大小及操作四 运算符重载五 字符串操作5.1 截取操作5.2 查找操作六 流插入流提取七 string与string相加string类模拟实现完整代码总结以上就是string的全部内容了,💞。

2024-05-31 21:34:15 1562 25

原创 【C++】——vector容器

我们使用vector的时候,可以把他当作一个数组来使用,只不过这个数组是可以自动扩容的vector里面的数据是存在堆上面的,数组里面的数据是存在栈里面的,这个要区分使用vector的时候需要包含#include头文件

2024-05-16 14:20:43 1380 30

原创 【C++】——string类

1.string是表示字符串的字符串类2.因为是类,所以他会有一些常用的接口,同时也添加了专门用来操作string的常规操作3.string在底层实际是:basic_string模板类的别名。也就是说string是一个模板,之所以要设置为模板是为了适应更多的编码4.不能操作多字节或者变长字符的序列🎈string常用接口说明。

2024-05-12 19:20:54 659 16

原创 【C++】——内存管理

C语言里面的内存管理函数也可以用,只不过用起来比较麻烦,而且在有些情况下不能处理,所以C++推出了自己的内存管理方式new/delete操作符进行动态内存管理

2024-05-08 17:36:02 1070 23

原创 【C++】——类和对象(初始列表,Static成员,友元)

对于默认的构造函数来说,我们都知道它是起到了初始化的操作,但是它对于内置类型是不做处理的,所以一般初始化都需要我们主动去写,不然就算一堆随机值。下面就来看看构造函数初始化的具体步骤

2024-04-27 20:29:36 994 32

原创 【C++】——类和对象(构造函数,析构函数,拷贝构造函数,赋值运算符重载)

相信你对这几个知识点有点混淆,相信看完以后,你会对此有一个清晰的认识。

2024-04-25 13:23:52 917 22

原创 【C++】——类与对象引入和认识

在C语言中我们学过结构体,C++的类就是对结构体的升级因为在结构体中只能是定义变量,却不能定义函数,然而类是可以的

2024-04-22 15:24:20 1249 21

原创 【C++】——入门(关键字,命名空间,输入输出,缺省参数,函数重载,内联函数,auto关键字与基于范围的for循环)

在写c++的程序的时候,经常会写道using namespace std,这段代码,其实这个的意思就是展开std这个命名空间,使得我们可以用里面的函数和操作符之所以要有这个命名空间,是因为在c语言里面定义了与库函数同名的变量就会报错,只能修改名字,所以这里使用了这个命名空间去封装,变成一个域,这个域,不使用特殊的操作符是访问不到的

2024-04-16 00:18:01 1219 24

原创 【数据结构】——八大排序(详解+图+代码详解)看完你会有一个全新认识

排序在生活中是非常重要的,所以排序在数据结构中也占有很大的地位,相信大家可能被这些排序弄得比较混淆或者对某个排序原理没有弄清,相信看完本篇会对你有所帮助!排序的概念与应用排序概念排序:排序就是使一串数据,按某个或者某些关键字的大小,递减或者递增排列起来的操作稳定性:在排序的过程中,可能存在两个或者以上的关键字相等的记录,排序的结果可能会不一样,这里就分成了稳定和不稳定。

2024-04-12 21:58:01 1675 18

原创 【数据结构】——二叉树的递归实现,看完不再害怕递归

递归无非就是相信它,只有你相信它,你才能写好递归!为什么?请往下看

2024-04-04 22:34:13 2459 31

原创 【数据结构】——二叉树堆的实现

这里的堆和操作系统里面的堆是两个东西,一个是数据结构,一个是管理系统的一块分区,这里要区分开来现在有一段数据,然后我们把这些数据按完全二叉树的形式存储到我们的数组中,如果这组数组拆分成二叉树,符合父亲结点大于孩子结点的我们称之为大堆,反之称为小堆。

2024-04-01 18:33:37 1285 36

原创 【数据结构】——树和二叉树相关概念(全网超级详解)

世界上最大的树--雪曼将军树,这棵参天大树不是最长也不是最宽,是不是很奇怪,大只是他的体积是最大的,看图片肯定是感触不深,大家可以自己去看看扯远了,这次我们介绍的是一种新的数据结构--树之前的栈和队列,都是一对一的线性结构,而现在是一对多的数据结构--" 树 "。树是由n个结点的有限集。当n=0的时候,也称之为空树,当n>1的时候,其余结点又可以分为m棵子树,同时这些子树是互不相交的。在任意一颗非空树中:有且仅有一个称为根的结点,也就是最上面的结点。

2024-04-01 11:44:10 1153 32

原创 【数据结构】——栈与队列(附加oj题详解)深度理解

栈是仅限与在表尾进行插入或者删除的线性表我们把允许一端插入和删除的一端叫做栈顶,另一端叫栈底,不含任何元素的栈叫做空栈,栈又叫做后进先出的线性表,简称LIFO结构。

2024-03-22 19:49:21 1381 40

原创 【数据结构】——线性表(顺序表加链表),万字解读(加链表oj详解)

链表oj,顺序表链表详解

2024-03-19 22:58:55 1214 23

原创 【C语言】——动态内存管理与文件操作,后面加一个通讯录福利,万字解读,看完你会有一个全新认识

由于通讯录与这两个知识点有关联,所以直接一起写,这样比较容易理解通讯录里面的部分操作。

2024-03-09 21:17:06 1213 15

原创 【c语言】——结构体千字解读,看完你肯定不会有任何结构体的疑惑

在学习初期,我们接错了很多整型,浮点型,字符型等变量,其实结构体从整体上看和他们都差不多。

2024-03-02 19:39:59 1341 17

原创 二分查找与二分答案————细致解读,让你不在困惑

有了上面的题目相信你对二分已经有了比较深的了解,其实二分答案都是大同小异,主要的就是check函数里面对题目要求的编写,这个地方要想清楚,下面给几个题目大家自己去完成,题目答案,大家在csdn也可以搜出。这是二分入门的查找问题,首先我们看是输出最小的那一个,就明白,应该向左去寻找,因为二分是在有单调性的序列中才能使用 ,又看见题目里面要求 ai>=x ,所以我们可以下出下面代码。最大的最近距离,最近?在我们的平常练习中,有时候被二分弄的找不到方向,甚至题解看起来不像二分,非常苦恼,看完这篇文章,将把二分。

2024-02-24 16:59:42 1425 8

原创 指针理解(初级)

到这里也差不多对指针有了初步的了解,这只是初级,后面还会有高级的指针详解,还希望大觉多多指正。

2023-12-14 00:08:14 548 8

原创 C语言三子棋游戏

上面就是全都的代码实现,可能有小许细节没有讲到,还请大家指正。

2023-12-06 18:48:17 1053 3

爱心.html

爱心.html

2022-11-10

空空如也

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

TA关注的人

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