自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++初阶】模板进阶

1、模板复用了代码,节省资源,更快的迭代开发2、增强了代码的灵活性。

2025-04-05 16:20:29 1092 9

原创 【Linux系统】linux下的软件管理

yum和apt是一个包管理器,就相当于我们手机上的应用商店,开发者将软件打包好放在一个服务器上,我们通过yum/apt就可以很方便获取到这个编译好的软件,直接进行安装,不需要考虑软件依赖关系。这种安装方式的缺点是:软件之间是具有依赖关系的,在安装一个软件的时候,为了让他能正常运行就需要再安装其他软件,否则就算安装好了也无法运行。该操作系统的编写者为了是他的操作系统受到越来越多的人使用,就会不断更新完善这操作系统,也会允许别人完善操作系统。若使用的是虚拟机的话可以进行安装源的更新,云服务器就不需要了。

2025-04-05 16:20:12 1294 10

原创 【C++初阶】一篇文章带你深入了解stack、queue和priority_queue

stack文档在之前数据结构的学习中我们已经学习过了栈,现在我们来学习stl的适配器——stack1、stack是一种容器适配器,专门用在具有LIFO(后进先出)操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作2、stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出3、 stack的底层容器可以是任何标准的容器类模板或者一些其他特定的容器类。

2025-03-31 17:27:51 1103 6

原创 【C++初阶】list的讲解及模拟实现(重点:迭代器的初深入及实现)

在前面的数据结构的学习中我们就学习过了单链表和双链表详述手打单链表,全是干货!!!-优快云博客双向链表(带头双向循环链表)巨详解!!!_非循环双向链表带附加头结点是什么样的-优快云博客关于链表的增删改查等功能都有详细的讲解,若感兴趣的朋友可以移步!!!list文档。

2025-03-31 17:27:23 870 6

原创 【C++初阶】从零开始模拟实现vector(含迭代器失效详细讲解)

模拟实现了vector,并详细讲解了迭代器失效问题

2025-03-23 17:14:46 1154 8

原创 【Linux系统】Linux权限讲解!!!超详细!!!

详细讲解了Linux中的权限及其操作

2025-03-23 17:13:32 1905 9

原创 【C++初阶】string类讲解:含常用接口使用及原理模拟实现

1、C语言中,字符串是以’\0’结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。2、在OJ中,有关字符串的题目基本以string类的形式出现,而且在常规工作中,为了简单、方便、快捷,基本都使用string类,很少有人去使用C库中的字符串操作函数。

2025-03-16 16:08:28 1442 10

原创 【C++初阶】模板初阶

在我们之前的学习中我们要实现一个交换函数,会这么写这个函数可以实现int类型的变量进行交换,但要实现其他类型,如:double、float……等,便要使用函数重载,每当出现新的类型时就需要写一个新的对应函数,太麻烦了!哪有什么方法可以只用一个函数就可以实现都种不同类型变量进行交换呢?泛型编程就可以解决这种问题!!!

2025-03-16 16:08:02 596 8

原创 【C++初阶】类与对象(下)

在成员变量初始化的时候尽量走初始化列表,在编译器中即使不写出初始化列表或者不在初始化列表中初始化的成员变量,也会自动走初始化列表当成员变量在声明时写了缺省值时,初始化列表会按照缺省值进行初始化(初始化列表中没有初始化赋值)所以,以后成员变量初始化时一般都用初始化列表或给缺省值。

2025-03-08 18:31:54 1289 9

原创 【C++初阶】内存管理

C语言的内存管理方法在C++中也可以使用,但是在一些地方是无法处理的而且使用起来会比较麻烦,所以C++就提出了自己的管理方法:new和delete对于连续申请的多个空间的初始化与内置类型不同的是,new/delete对于自定义类型对象不仅会开辟/释放空间,还会调用构造函数和析构函数,初始化了几个就调用几次构造函数和对应的析构函数在这里a的实现要依靠默认构造函数/或对应有参构造函数,如果没有的话就会报错对于内置类型,new/delete与malloc/free是相同的,唯一不同的是,n

2025-03-08 18:31:22 1212 6

原创 【C++初阶】引用细讲解

必须初始化3、引用一旦引用了一个实体,就不可以引用别的实体。

2025-03-07 07:30:00 1035 6

原创 【C++初阶】类与对象(中)附带日期类实现代码

默认成员函数就是用户没有显式实现的情况下,编译器自动实现生成的成员函数被称为默认成员函数这六个默认成员函数分别是:这六个默认成员函数,最需要注意的是前四个,两个取地址重载并不重要。默认成员函数很重要,也很复杂,在这里我会从两个方面去学习他们:1、当我们不显式实现他们的时候,编译器默认生成的函数它是怎么运行的,是否满足我们的需求2、当编译器默认生成的函数不满足我们的需求时,我们自己来实现的时候要如何实现内置类型:int、char、double……这些我们平时用到的数据类型就是内置类型。

2025-03-07 07:30:00 1678 11

原创 【Linux系统】相亲说shell运行原理和操作系统初涉及

随着我们年龄的不断上涨,我们也到了该谈婚论嫁的时候了,我也对相亲进行了一些了解,发现它的运行原理其实和shell很相似,也通过对相亲的了解让我对shell有了更深入的了解接下来我将用三个小故事来对应讲解是什么shell?为什么要有shell?shell是怎么运行的?1、什么是shell?通过这三个故事,我生动详细讲解了shell是什么,为什么要有shell,shell是怎么工作?而在linux中我们使用的shell叫做bash在这里简单讲解一下操作系统的概念及作用。

2025-02-18 22:13:41 945 18

原创 【Linux系统】Linux基本指令

当我们在linux中写了一个自己的程序,因为每一个可执行程序都存放在一个特殊目录下,所以要执行这个程序就需要用"./"+程序名,如果直接执行,系统就会默认在"/usr/bin"下寻找。这个数字是从公元1970年1月1号0点开是计数的,不同时区开始计数的时间不同,我们中国以北京时间为主,所以就是在东八区,也就是从1970年1月1号早上8点开始计数。这种运用还能证明"|"是一个文件,因为bc指令的标准输入是键盘文件,而该运用中echo将'1+2'传入"|"中,再通过"|"传给bc,就证明"|"是一个文件。

2025-02-18 22:11:28 1484 15

原创 八大排序算法细讲

先选定一个整数,命名为gap,通常是gap=n/3+1,将带排序数组中元素根据gap值分为多组,也就是将相距gap值的元素分在同一组中,然后对每一组的元素进行排序,这是就完成一次排序,然后gap=gap/3+1,,再将数组根据gap值分为多组,进行插入排序,当gap=1时,就相当于进行直接插入排序算法。的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,⽽在排序后的序列中,r[i]仍在r[j]

2025-02-06 22:06:57 11644 9

原创 C语言常见概念

如果我们每个⼈⾃⼰给这些字符中的每个字符编⼀个⼆进制序列,这个叫做编码,为了⽅便⼤家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准 ASCII 编码,C语⾔中的字符就遵循了 ASCII 编码的⽅式。在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号括起来的,如:'a','b','@'。由此可知:c2中没有表明'\0'的位置,这就意味着打印完c2中的字符后,程序会继续执行,直到遇到一个随机的'\0',才会结束。

2025-02-06 22:06:02 1854 10

原创 Oj小记:关于二叉树题一二

二叉树遍历二叉树遍历前序遍历。

2024-11-29 21:53:55 928 21

原创 递归暴力美学:链式二叉树的构建

在前文中我们学习了顺式二叉树的构建,现在我们来到链式二叉树的构建在构建链式二叉树开始之前,需要对树及二叉树有一定的了解,如果有想要了解的可以移驾大该文。

2024-11-29 21:53:08 1086 16

原创 二叉树:堆的建立和应用

在数据结构中,我们通常把堆(一种二叉树)使用顺序结构的数组来存储,但要注意的是这里堆和操作系统中的堆是两回事,一个是数据结构,一个是操作系统中内存管理内存的一块区域分段。2、除了根结点以外的结点又分为m(m>0)个集合,其中每一个集合又是一棵与树结构类似的子树,而且每棵子树的根结点都有一个且只有一个前驱结点,但可以有多个或0个后继结点。,将堆顶的数据和最后一个结点的数据交换,这时堆顶数据就到了数组的尾部,直接删除数组的最后一个数据就行,删完了以后,就需要将现在的二叉树调整为堆结构。

2024-11-24 18:37:22 1109 18

原创 【C++初阶】类和对象(上)

后接类名,{}中为类的主体,要注意的是类定义结束时}后面的分号不要忘记类体中的内容称为类的成员:类中的变量称为。

2024-11-17 11:30:23 885 17

原创 【C++初阶】inline函数详解

必须在同一个文件。

2024-11-17 11:29:58 431 15

原创 【C++初阶】C++入门

C++是脱胎于C语言的,所以也包含了C语言绝大多数的内容,C++兼容C语言绝大多数的语法,在C语言中能实现的程序在C++中也是可以执行的,但需要将定义文件代码的后缀改为.cpp就比如hello world程序但在C++中,它是自成体系的,有自己的输入输出 c++版的hello world程序为初学C++的小伙伴出看见这个代码会有很多疑惑,但不要慌张,接下来让我来为你详细解释2、命名空间:namespace在看很多书上的C++代码都很看到这样的一行代码“using namespace st

2024-11-15 20:32:24 1411 10

原创 【数据结构初阶】栈和队列的建立

是一种特殊的,它只允许一端进行操作,这一端被称为则另一端被称为而栈内的数据遵循后进后出,先进后出栈的插入操作被称为插入的数据在栈顶栈的删除操作被称为删除的数据也在栈顶那我们要如何实现栈这个特殊的线性表呢?在前面我们学过顺序表和链表,而栈的实现也可以使用顺序表或者链表来实现,那使用哪一种更好呢?用顺序表来实现栈本质上就是,根据栈的特性:后进后出,先进后出可知,而使用链表实现栈,则最好是,进行,但使用链表需要用到指针会比使用数组麻烦很多,所以我们大多数时候使用数组来实现栈,但链表也是可以的,

2024-11-15 20:29:38 1208 10

原创 双向链表(带头双向循环链表)巨详解!!!

本文讲述的,全名叫做带头双向循环链表我们学习的链表总共有在前文讲述单链表时所讲到的单链表,其实就叫做不带头单向不循环链表,这里的带头、不带头才是真正的头结点,前文中的头结点其实叫做首元素结点,为了方便理解就叫做头结点,要注意分别。

2024-11-09 22:41:34 706 15

原创 详述手打单链表,全是干货!!!

概念概念是⼀种上为非线性为线性的存储结构,数据元素的逻辑顺序是可以把链表比作有着一节一节车厢的火车,大家都知道火车的车厢节数是不固定,会根据坐车人数来调整,这就说明每节车厢都是独立存在,而链表这个“火车”的每节“车厢”就叫做但和顺序表不同的是,因为它的物理结构是非线性的,所以它在内存中是一块一块空间存储的,F非连续的。

2024-11-09 22:41:15 846 13

原创 手打顺序表:详细讲解顺序表的组成及原理,细节满满!!!

代码为。

2024-11-05 16:16:55 1160 10

原创 Oj小记:关于顺序表题的一二

结束条件就为。

2024-11-05 16:15:45 621 8

原创 C语言结构体:带你深入了解结构体、学会结构体的使用

struct name//结构体名//成员变量名}variable;//定义的结构体类型的变量名全局变量。例如:定义一个学生的结构体,里面包含了学生的名字、年龄和学号。struct stu//名字int age;//年龄char id[9];//学号位段。

2024-10-27 22:21:50 1681 8

原创 数据结构入门及复杂度详解(深入理解时间复杂度和空间复杂度)

在学习数据结构与算法前,肯定会有一些和我一样的小白同学疑惑数据结构是什么?算法是什么?以及为什么要学习数据结构与算法?有这些都很正常,且并不难解决:1、数据结构时计算机存储、组织数据的方式,指代,例如数组,就是我们学过的一种简单的数据结构;2、提及算法,很多人多会第一时间想到数学(因此会有一些心理上的畏惧,数学没学好的人发至骨子里的敬畏),可实际上许多算法并不涉及到复杂的数学,而更多的是依赖基本逻辑(所以,小白不用担心怕数学不好,学不会算法),;3、

2024-10-25 17:29:31 1205 5

原创 C语言内存函数:带你深入了解内存函数,手把手教你模拟实现内存函数

int main()//将arr1中前五个元素拷贝到arr2中int i = 0;for (i = 0;i < 10;return ret;memmove函数处理的源内存块和⽬标内存块是可以重叠的。如果源空间和⽬标空间出现重叠,就得使⽤memmove函数处理。(2)、memmove函数的使用代码如下:int main()//将arr中前五个元素拷贝到arr+2位置上int i = 0;for (i = 0;i < 10;i++)

2024-10-16 21:10:53 972 6

原创 数据结构(C++):顺序表模板

手打顺序表模板

2024-08-15 16:36:31 812 2

原创 C++__位运算符:异或运算符 ^

了解异或运算符的定义、性质及用法。 二元运算符,符号为^,与位与、位或不同的是,它在二进制中为相同为0,不同为1。而且它还满足这几种运算规则: 1、任何数^0都等于它本身; 2、两个相同的数异或结果为0; 3、异或满足交换和结合律。总的说异或运算符就是不带进位的二进制加法。应用:1、标记位取反 将二进制数中某位0变为1。 方法:用该数异或(^)上所求位为1其它位为0的二进制数。2、变量交换

2024-08-03 22:53:39 2322 3

原创 C++__位运算符:位或运算符|

二元运算符,符号为,运用于二进制数中,运用规则简单来说就是有1即1。

2024-08-03 22:16:21 468 3

原创 c++__位运算符:位与运算符&

一种二元运算符,符号为&,运用于二进制数中,特性为有0为0。

2024-08-03 21:52:20 615 5

原创 C++_指针常量、常量指针、常量指针常量

指针常量数据类型* const p指针的值是个常量指针无法被赋值,指针解引用后有可以被赋值(p1的值不能改变,但是*p1值可以)常量指针const 数据类型* p指向常量的指针指针解引用后无法被赋值,指针可以被赋值(*p2的值不能被修改,但是p2可以)常量指针常量const 数据类型* const p指针值和指针指向的值都是常量指针和指针解引用后都无法被赋值(p3和*p3都无法被修改)

2024-07-24 13:01:02 1260 4

空空如也

空空如也

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

TA关注的人

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