自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Linux】初学者指令指南

【语法】:pwd【功能】::显式用户当前所在的目录。

2025-06-01 18:34:55 977 65

原创 【C++】STL详解(四)---Stack和Queue

方式一:普通定义方式如果没有为stack指定特定的底层容器,默认情况下使用deque。queue的定义方式方式一: 使用默认的适配器定义队列。方式二: 使用特定的适配器定义队列。

2025-05-30 18:36:08 844 19

原创 【C++】STL详解(三)---List的使用

list是一种可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以双向迭代list的底层式双向链表结构,存储的每个元素都以独立节点的方式存储。在结点中通过指针指向其前一个元素,和后一个元素list和forwoard_list非常相似,但后者底层是单链表,只能进行单方向迭代list在任意位置进行插入删除的执行效率更高链表的缺点是不支持在任意位置进行随机访问,其次list还需要一些额外空间,已保存。

2025-05-28 22:49:02 659 7

原创 【C++】STL详解-----(二)vetor的使用

vector是可变大小数组的容器vector采用连续空间存储的方式,同时也表示可以采用下标访问vector的大小可以动态改变vector的重新分配大小策略:开辟一个新的数组,将原数组的数据移到新数组,并且释放原数组的空间vector分配空间策略:vector会分配一些额外的空间以适应可能的增长因此存储空间比实际需要的存储空间更大vector的尾插和尾删的效率较高。但是非尾部元素的插入和删除效率较低。

2025-05-23 08:08:30 1002 39

原创 【C++】【STL】(一)String的用法

string ();//构造一个空的字符串//复制s所指的字符序列//复制s所指序列的前n个字符生成n个c字符的字符串生成str的复制品复制str中从字符位置pos开始并跨越len个字符的部分string s1//构造空字符串string s2("hello string") //复制"hello string"string s3("hello string",3)复制hello string的前3个字符串//生成10个's'字符的字符串//生成s2的复制品。

2025-05-18 17:41:22 848 3

原创 【C++】内存管理

若申请空间失败,则尝试执行空间不足的应对措施,如果该应对措施用户设置了,则继续申请,否则抛异常。6、申请自定义类型对象时,malloc/free只会开辟空间,不会调用构造函数和析构函数,而new在申请空间后会调用构造函数完成对象的初始化,delete在释放空间前会调用析构函数完成空间中资源的清理。注意:申请和释放单个空间,使用new和delete操作符,申请和释放连续的空间,使用new[]和delete[]4、malloc的返回值是void*,在使用时必须强转,new不需要,因为new后跟的是空间的类型。

2025-05-16 10:20:03 1061 1

原创 【C++】类与对象OJ题目求1+2+3+…+n,计算一年的第几天,日期差值,打印日期,日期累加

先将需要累加的天数加到“日”上,然后通过不断的迭代使得日期合法,迭代过程如下:判断“日”是否大于该年该月的总天数,若大于,则将“日”减去该月的总天数后作为新的“日”,然后将月份加一,继续进行判断;根据所给的两个日期,分别得到两个日期的年、月、日,然后先计算出这两个日期年相差的天数,得到的值减去第一个日期当年的天数,再加上第二个日期当年的天数即可,但是题目规定:如果两个日期是连续的,那么题目之间的天数为两天。从一月份开始,总天数减去每月的天数作为新的天数,若新的天数仍然大于当月的月份天数,那么则继续判断。

2025-05-15 09:11:54 1075 34

原创 【C++】类与对象【下】

本文主要探讨了C++中构造函数的使用及其相关概念。首先,构造函数在创建对象时用于初始化成员变量,但构造函数体内的赋值操作并不等同于初始化,因为初始化只能进行一次,而赋值可以多次进行。其次,初始化列表是更高效的初始化方式,尤其适用于引用成员、const成员和自定义类型成员。初始化列表的初始化顺序与成员变量在类中的声明顺序一致,与其在列表中的顺序无关。此外,explicit关键字可以禁止单参数构造函数的隐式类型转换,提高代码的可读性。最后,静态成员变量和静态成员函数是类的共享资源,静态成员变量必须在类外定义

2025-05-14 16:48:00 992 22

原创 【C++】C++引用和输入输出流

欢迎各位佬互三,这里是IF‘MAXUE,一个攀登的犹豫者。各位佬一起加油!!!!这一篇我们来学习两个入门知识点。

2025-04-28 15:56:55 708

原创 【蓝桥杯】每天一题,理解逻辑(4/90)【Leetcode 二进制求和】

[在这里插入图片描述](https://i-blog.csdnimg.cn/direct/54e09816d6034769824eb06f90402dad.png我们知道,十进制的加减法需要进位,例如:9+7=16是因为9+1之后进了一位,二进制也是如此,只不过十进制是逢10进1,二进制是逢2进1.但是我们这里还需要注意两点。

2025-03-18 21:25:54 384 3

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

第一篇我们先了解一下C++的历史渊源,俗话说的好,学术不思源,半吊打一年。我们来看一下C++课程包含特点C++兼容C语言,C语言后缀是.c,C++后缀是.cpp或者.ccANSI/ISO委员会维护编译器委员会在起草C++标准化第一个草案后,STL被普惠实验室开发了,在C++标准化时,把STL添加到C++标准化中。C++更新也分为小版本和大版本23期望值结果没达到,遭诟病C/C++市场份额不低。

2025-03-06 19:47:19 742 50

原创 【蓝桥杯】每天一题,理解逻辑(3/90)【Leetcode 快乐数】

闲话系列:每日一题,秃头有我,Hello!!!!!,我是IF‘Maxue,欢迎大佬们来参观我写的蓝桥杯系列,我好久没有更新博客了,因为up猪我寒假用自己的劳动换了台新电脑,没用父母的钱哦!!!,虽然进度慢了,但是值得,蓝桥杯快开始了,所以我也开始努力起来了。同时,我也欢迎各位大佬互三,看到我会及时回复的!!!放一张阿刃在这,除大家的霉运。

2025-03-06 19:32:59 2878 26

原创 【蓝桥杯】每天一题,理解逻辑(2/90)【LeetCode 复写零】

定义两个指针cur和dest,分别指向两个数组的开头,当cur识别非零元素直接拷贝到dest指向的数组,遇到0元素直接写两遍,直到dest的数组元素的最大值。用双指针算法,dest定义是否为结果中的最后一个位置,cur从前到后遍历数组,当cur遍历过程中,遇到0元素,dest正好超出边界。第一步 先cur先进行遍历,判断cur是否为0,第三步 判断dest是否已经结束为止。第二步 移动dest一步或两步,先找到最后一个“复写”的数。从后向前完成复写步操作。

2025-03-05 20:30:12 706 6

原创 【蓝桥杯】每天一题,理解逻辑(1/90)【Leetcode 移动零】

cur从左向右遍历,遇到0元素不做处理,遇到非0元素时,让dest+1,然后非零元素与dest所指元素进行交换(将非零元素直接归类到【0,dest】)题目链接:https://leetcode.cn/problems/move-zeroes/description/题目归类数组划分:将一个数组划分成若干个区间。cur遍历到n-1时,结束。

2025-02-26 23:04:52 2649 28

原创 【数据结构&&计数排序】计数排序

非比较排序是一种排序算法,它不是通过比较元素大小进行排序的,而是基于元素的特征和属性排序。这种排序方法在特定情况下,可以做到比元素比较排序(快排,归并)更有效率。尤其是在处理大量数据时。非比较要求输入数据满足一定条件,或者对数据特征进行合理利用常见的非比较排序算法包括通常适用于范围比较小的整数排序,通过统计每个元素的出现次数,然后将元素按顺序放入数组将数据放到若干个桶中,随后对每个桶进行排序,最后再将所有桶的数据进行合并通过将待排序数值按位数分组,逐位进行排序,通常配合计数排序实现。

2024-11-27 22:54:16 310 3

原创 【数据结构算法】归并排序

归并排序的核心思想是将已有序的子序列合并,得到完全有序的序列。合并:合并时,重新创建一个数组数组,下标index,二分完之后,将排序完的元素放到临时数组内,然后拷贝到原数组。注意,递归到底之后,先排序,在回溯,回溯也可以认为是合并,下面可以表示总体的排序。其中,将两个有序表合并成一个有序表的过程称为二路归并。合并完之后,向上回溯,继续排序,两个有序数组合并。begin2:每个右区间开始。begin1:每个区间开始。end1:每个左区间结束。end2:每个右区间结束。递归左区间,递归右区间。

2024-11-06 21:37:25 361 13

原创 【数据结构】快速排序

挖坑法的本质其实是空间挪移,跟七巧板的原理差不多,将无序排成有序,需要有一个空间暂时进行回避,让其他元素进行流通。right先入栈,left在入栈,再出栈,left和right就是区间,找基准值,分区间。栈:后进先出,栈顶进数据,也出数据,栈底不能。右区间入栈,right入栈,keyi+1入栈。左区间入栈,keyi-1入栈,left入栈。右区间【2,2】(只有一个数据也不入栈)左区间【0,-1】(非有效区间不入栈)左区间【1,0】(非有效区间不入栈)左区间【4,3】【非有效区间不如栈】

2024-11-05 19:45:00 667 2

原创 【数据结构】选择排序

时间复杂度:O(n^2)直接选择排序的动图演示。选择排序总体思路解析。

2024-11-04 15:54:41 396 1

原创 【数据结构】插入排序和希尔排序

这种方法通过分组和逐步缩小增量的方式,提高了排序效率。综合来看,希尔排序的效率明显高于直接插入排序算法。重复步骤 2-4,直到 gap = 1,此时相当于直接插入排序。当gap > 1时都是预排序,⽬的是让数组更接近于有序。1.元素集合越接近有序,直接插⼊排序算法的时间效率越⾼。的了,这样就会很快。这样整体⽽⾔,可以达到优化的效果。选定一个整数(通常是 gap = n/3 + 1)。将待排序记录分成若干组,每组内记录的距离相等。缩小增量:gap = gap/3 + 1。希尔排序是对直接插⼊排序的优化。

2024-11-01 12:25:47 549

原创 【数据结构&&C语言】【入门】【首次万字详细解析】入门阶段数据结构可能用到的C语言知识,一章让你看懂数据结构!!!!!!!

数组的定义其实非常非常简单;他就是是一组相同类型的集合不理解也没关系,我给你举个例子就好了。数组的定义:数组是一组相同类型的集合给你讲个故事:我认识一个朋友(纯属虚构),她是一个事业心非常强的人,无论任何东西都会以事业和学业为主,所以大多数有选择时,都会选择先忽略自己的感受的选项,平时也不注重打扮,以至于她的家非常乱,家里杂乱无章,到处找东西找不到。后来她喜欢上一个男生,感觉自己的一股屌丝样子配不上他,所以就开始捯饬自己,她开始把自己的房间整理,把袜子和袜子归类到一起,衣服和衣服归类到一起。

2024-09-21 17:29:25 4209 89

原创 【字符函数】strcpy函数(字符串复制函数)+strcat函数(字符串追加)+strcmp函数(字符串比较)【笔记】

1.复制函数--------------strcpy函数函数使用模拟实现。

2024-09-19 22:31:43 1172 9

原创 【C语言】(指针系列四)回调函数+qsort函数

参数传递给另外一个函数指针被用来调用其所指向的函数回调函数并不是一个单一的函数实现然后我们发现这种代码和思路非常非常的冗余,对于初学者来说很友好,但是对于进阶来说,这种重复性的代码不是很好的选择,那么有没有方法让他简化一下哪?当然有,用回调函数,

2024-09-15 12:31:58 471 18

原创 【C语言】(指针系列3)数组指针+函数指针+typedef+函数数组指针+转移表

根据前面学习整型指针,数组指针的时候,类比一下,我们不难得出结论函数指针变量应该是用来存放函数地址的,未来通过地址能够调用函数的。那么函数是否有地址呢?函数的地址确实是有的,同时也验证了函数的地址也是可以用&调取出来的。同时我们观察发现,函数名和取出来的地址是一样的。

2024-09-14 15:07:05 1246 9

原创 【C语言】(指针系列2)指针运算+指针与数组的关系+二级指针+指针数组+《剑指offer面试题》

目录一、指针运算1.1指针+-整数1.2.指针-指针1.3.指针的关系运算二、野指针一.野指针成因1.指针未初始化 2.指针越界访问3.指针指向的空间释放 三、规避野指针1.小心指针越界2.避免返回局部变量的地址3.指针变量不再使用是置为NULL,使用时检查其有效性assert断言四、指针与数组的关系1.数组名2.使用指针访问数组五、字符指针1.字符指针隐藏秘密2.常量字符串《剑指offer》笔试题六、二级指针七、指针数组用指针数组模拟二维数组结尾祝福语指针是一个存放地址的变量,这些我们都知道,但是对于一

2024-09-13 12:11:03 1307 19

原创 【C语言】了解函数,认识函数

IO函数字符串操作函数字符操作函数 内存操作函数时间/日期函数 数学函数 其他库函数以上就是常见的库函数,如果对于哪里的函数不了解,可以根据我上面的网站自行学习。自定义函数和库函数是一样的,本质定义差不多ret_type fun_name(形式参数)若函数有返回值,则要有返回值的类型,如int,double等等。若函数没有返回值,则函数名前要加void。函数的参数(形式参数),当然参数名前也要加上类型。最后是函数体,记得要用{括起来}例如:写一个减法函数int main()

2024-09-09 11:14:21 1364 12

原创 四百粉丝了,这几天狠狠肝,把之前的补上

2024-09-08 16:24:30 191 1

原创 【数据结构】栈与队列OJ题(用队列实现栈)(用栈实现队列)

这里要定义两个栈,我们分别命名为pop和push队列ST pushST;ST popST;}MyQU;return pst;

2024-09-07 11:28:14 1362 14

原创 【数据结构】栈与队列

这次从简单的入手。

2024-09-04 06:37:15 717 16

原创 【数据结构】双向链表

代码//双向链表的定义}LT;//初始化链表的定义:对int重命名以便于后续的修改,定义结构体中的下一个和前一个的指针。

2024-09-02 17:26:03 1135 9

原创 【C++入门核心出装!!!】类与对象【中】【核心出装】

析构函数与构造函数功能相反,析构函数不是完成对对象本⾝的销毁,⽐如局部对象是存在栈帧的, 函数结束栈帧销毁,他就释放了,不需要我们管,C++规定对象在销毁时会⾃动调⽤析构函数,完成对 象中资源的清理释放⼯作。接下来,让我们扒开类与对象的本质,直接gank一波前期的C++!析构函数是特殊的成员结构,需要注意的是,虽然名字叫构造,但其实并不是开空间创造对象,而是对象实例化初始化对象,构造函数的本质,是要代替我们以前stack和Data类中写的Init函数,构造函数自动调用就完美替代了Init;

2024-08-14 22:16:04 839 23

原创 【数据结构七夕专属版】单链表及单链表的实现【附源码和源码讲解】

链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构,数据元素的逻辑顺序是通过链表中的 指针链接次序实现的。

2024-08-10 03:10:00 1697 27

原创 【C++】C++入门基础【类与对象】

class作为类的关键字,后面跟的是类的名字,如Stack,{}中的为类的主体,类定义结束时后面的分号不能省略。类体中的内容成为类的成员,类中声名的变量叫做类的属性或者成员变量,类中的函数叫做类的方法或者成员函数。为了区分成员变量,一般习惯上成员变量会加一个特殊标识,如成员变量前面会加一个_或者字母开头,当然这不是C++强制的,只是在书写时便于区分变量,具体加什么要看企业规定。

2024-08-07 21:56:53 1142 23

原创 【数据结构】顺序表详解以及实现(C语言实现)

存储密度高:顺序表的每一个节点都有对应的数据元素,没有额外开销,存储密度高访问性高:可以通过首地址然后i根据连续性找到后续相应的元素物理位置相邻:物理位置和逻辑位置一致,保持相邻,但这也意味着插入和删除操作可能涉及到大量元素的移动。顺序表分为静态顺序表和动态顺序表,静态顺序表在结构体中给的是定长数组,缺点很明显,所以我们主要讨论动态顺序表动态顺序表主要涉及的内存函数有malloc()和relloc()函数。动态顺序表主要有。

2024-08-06 00:35:28 706 14

原创 【C++入门篇】C++入门基础[必备知识点]

引用不是定义一个新的变量,更不是在内存中开辟一个新的空间。它是为给已定义的变量起用一个别名,这个别名和已定义的变量指向的是同一块空间。举个例子:在中学时期,我们会给关系好的朋友起一个外号,比如”黑狗“,“阿白”比较有特点的外号以证明关系很铁。那么在日常生活中,我们叫他的真名和他的外号是不是本意都是指向同一个人。对滴!!!这个外号跟别名有着异曲同工之妙!!!引用的定义:类型& 引⽤别名 = 引⽤对象;

2024-08-04 23:46:57 1443 5

原创 [C++入门]C++入门建议与C++入门基础

c++入门解析

2024-08-02 18:56:16 1181 14

原创 时间复杂度计算

1. 因为程序运⾏时间和编译环境和运⾏机器的配置都有关系,⽐如同⼀个算法程序,⽤⼀个⽼编译 器进⾏编译和新编译器编译,在同样机器下运⾏时间不同。1.时间复杂度函数式T(N)中,只保留最⾼阶项,去掉那些低阶项,因为当N不断变⼤时, 低阶项对结果影响越来越⼩,当N⽆穷⼤时,就可以忽略不计了。2. 如果最⾼阶项存在且不是1,则去除这个项⽬的常数系数,因为当N不断变⼤,这个系数 对结果影响越来越⼩,当N⽆穷⼤时,就可以忽略不计了。3. T(N)中如果没有N相关的项⽬,只有常数项,⽤常数1取代所有加法常数。

2024-07-10 12:23:08 563 1

原创 【c语言】自定义类型----结构体

什么是自定义类型?我们在编写代码的过程中,会遇到许多类型,比如:短整型,整型,字符类型,布尔型,浮点型等多种类型,可这些都是c语言库中自带的,编写者在编写过程中只需要记住就好。举个例子:你要定义一个变量为整数,就需要定义该变量为int型,写一个字符,就要定义一个char类型。定义时只需对应拿出即可,但是你要定义一个人的基本信息怎么办,如电话,地址,性别,名字,身份等多种属性,在c语言给出的类型中,并没有具体的类型可以去定义,所以这时就需要编写者自己根据具体的需求,去编写自己的类型,我们称为自定义类型.

2024-06-08 22:47:24 1927

原创 数据在内存中的存储

⼤端(存储)模式:是指数据的低位字节内容保存在内存的⾼地址处,⽽数据的⾼位字节内容,保存 在内存的低地址处。⼩端(存储)模式:是指数据的低位字节内容保存在内存的低地址处,⽽数据的⾼位字节内容,保存 在内存的⾼地址处。以什么样的模式进行存储数字是根据编译器决定的。编译器决定大小端模式,同时也决定了以怎样的方式从中正确的取出数字。这也许就是能力越大,责任越大吧!!!!

2024-06-05 23:32:05 897 1

原创 【简单理解化】 内存函数及它的模拟实现

本文章谈论memcpy,memcmp,memmove,memset函数。

2024-06-04 23:01:40 1855 7

原创 字符函数,字符串函数

字符函数和字符串函数

2024-06-03 22:19:07 1204 6

空空如也

空空如也

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

TA关注的人

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