自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++】007 C/C++ 内存管理机制、malloc与new的区别及模板初阶

int _val;,_val(val){ }int main()//只开空间,不调用构造初始化//除了开空间,还会调用构造函数初始化//delete会调用析构函数delete p2;delete p3;return 0;new会失败吗?一般情况下,new和malloc都极少失败,malloc和calloc失败都会返回空指针。new失败会出现“抛异常”,我们要做的就是“捕获异常。

2026-10-04 16:23:35 200 4

原创 【C++】006 一文搞懂 C++ 类与对象进阶:类型转换、内部类与匿名对象

的地方。3.

2026-09-29 16:13:48 161 4

原创 【C++】005 C++进阶实战:从.h到.cpp,手把手带你吃透运算符重载(附完整代码)

好,我们书接上回,继续讲解C++类和对象(中)的相关内容。 赋值运算符有一个默认成员函数,用于完成两个已经存在的对象直接的拷贝赋值,这里要注意跟拷贝构造区分,拷贝构造用于一个对象拷贝初始化给另一个要创建的对象。赋值运算符重载的特点:1. 赋值运算符重载是一个运算符重载,规定必须重载为成员函数。赋值运算符重载的参数建议写成const当前类类型引用,否则会传值传参会有拷贝。2. 有返回值,且建议写成当前类类型引用,引用返回可以提高效率,有返回值目的是为了支持连续赋值场景。3.

2026-09-23 21:53:05 126 5

原创 【C++】004 编译器偷偷帮你写了什么?一文看懂C++类的四大默认成员函数

则C++编译器会。

2026-09-16 20:15:00 300 3

原创 【C++】003 类和对象--模具与曲奇,一份图纸与无数成品(1)

一般情况下我们还是。

2026-09-11 20:59:33 324 4

原创 【C++】002 C++入门——薪资的天花板,发际线的滑铁卢

(1)引用不是定义一个新变量,而是给已经存在的变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。比如:水浒传中李逵,宋江叫“铁牛”,江湖上人称“黑旋风”,林冲,外号“豹子头”。类型& 引用别名=引用对象(2)C++中为了避免引入太多的运算符,会复用C语言的一些符号,比如前面的<<和>>,这里引用也和取地址使用了同一个符号&,大家注意使用方法角度区分就可以。(吐槽一下,这个问题其实挺坑的,个人觉得用更多的符号反而更好,不容易混淆)

2026-09-08 23:45:00 270 2

原创 【C++】001--C++入门(1)

(1)定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{ }中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。(2)namespace本质是定义出一个域,这个域跟全局域各自独立,不同的域可以定义同名变量,所以下面的rand不存在冲突了。(3)C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找一个变量/函数/类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。

2026-09-04 14:35:30 204 2

原创 【前端】002--怎样制作一个简历界面?

用表单标签来完成和服务器的一次交互,表单是让用户输入信息的重要途径。

2026-04-11 14:46:37 387 3

原创 【前端】001 前端初识——数字世界的门面

1.前端,又名Web前端,用来直接给用户呈现一个一个的网页。一个软件通常情况下是由后端+前端完成。2.生活中会遇到哪些前端页面?可以主要归结为三类:一类是Web页面,另一类是PC端应用程序页面,还有一类是移动端APP页面。3.学了这个能达到什么样的水平呢?可以开发出来一个简单的Web页面。HTML是一种超文本标记语言。超文本:意味着我这样一个页面支持文本、声音、图片、视频、表格、链接等数据。那如何能做到一个页面能展示这些数据呢?原来是要通过许许多多的标签,这些标签就组成许许多多的标记)。

2026-04-05 16:36:21 610 9

原创 004【枚举算法(普通枚举)】---地毯式搜索:一个都不放过

枚举,顾名思义就是把所有情况全部罗列出来,然后找出符合题目要求的那一个。因此,枚举是一种纯暴力的算法。一般情况下,枚举策略都是会超时的。此时要先根据题目的数据范围来判断暴力枚举是否可以通过。如果不行的话,就要用后面学的各种算法来进行优化(比如二分、双指针、前缀和与查分等)。使用枚举策略时,

2026-02-25 11:41:58 312 11

原创 003【高精度算法】加法/减法/乘法/除法

当数据的值特别大,各种类型都存不下的时候,此时就要用高精度算法来计算加减乘除:1.先用字符串读入这个数,然后用数组逆序存储该数的每一位。注:①用字符串读取时,读取的是每一个‘字符’,而存入到数组中的是数字,因此要进行字符向数字的转变,eg:'2'->2,则应该'2'-'0'。 ②数组逆序存储是因为我们一般计算都是从数字的个位算起,因此在数组中存储,先存个位、十位、百位...2.利用数组,模拟加减乘除运算的过程。高精度算法本质上还是模拟算法,用代码模拟小学列竖式计算加减乘除的过程。根据题目中的说明

2026-02-13 10:34:58 575 11

原创 002【模拟】--蛇形方阵、字符串展开

解法:模拟填数过程即可实现的方式有很多种,这里给大家介绍一种---解决矩阵中填数的题目1)定义方向向量:先定义两个数组dx,dy,这两个数组中同一位置所对应的两个数是配套使用的,表示向哪个方向走,如下图所示:其中,“右下左上”为题目中所给的“顺时针”方向。2)根据规则结合方向向量填数:①朝一个方向走,一边走一边填数,直到越界为止。②越界之后,结合方向向量,重新计算出新的坐标及方向。

2026-02-04 11:03:45 407 4

原创 二叉树高频习题:突破算法瓶颈的 “利刃”,刷题人必入的 “黄金题库”!(第14讲)

则该⼆叉树中的叶⼦结点数为( )A.不存在这样的二叉树 B.200 C.198 D.199解答:叶子结点数为199+1=200,故选B.在具有2n个结点的完全⼆叉树中,叶子结点个数为( ):设二叉树中度为0的结点个数为a,度为1的节点个数为b,度为3的结点个数为c,则总的结点个数:2n=a+b+c,根据题意要求叶子结点个数,就是要求c,a=2n-b-c,由二叉树性质可知,c=a-1,所以a=2n-b-a+1,即2a=2n-b+1。此外,(不可能是2)。

2025-11-22 11:30:11 1234 28

原创 实现链式结构二叉树--递归中的暴力美学(第13讲)

TOP-K问题:即求数据结合中前K个最大的元素或者最小的元素,。比如:专业前10名,世界500强,富豪榜,游戏中前100的活跃玩家等等。对于TOP-K问题,能想到的最简单直接的方式就是排序,但是,如果数据量非常大,排序就不太可取了(可能数据都不能一下子全部加载到内存中)。最佳的方式就是用来解决。灵魂拷问:假设现在有10亿个整数,求前K个最大的数,需要申请多大内存?

2025-11-16 14:33:44 992 23

原创 顺序表算法题---顺序表的去重操作(第12讲)

思路一:申请一个新数组,使新数组空间大小与原数组大小相等,遍历原数组,将值不为val的数放入新数组中,再将新数组中的数导入到原数组中。。src和dst,如果src指向的数据是val,src++;如果src指向的数据不是val,赋值(src给dst),然后src和dst都++。(时间复杂度为O(N),空间复杂度为O(1))。总之,src在前面探路,找非val值;dst在后面站岗,保存非val值。

2025-11-09 18:27:39 404 11

原创 二叉树----规矩森严的“家族树”(第11讲)

的。③树形结构中,子树之间不能有交集,否则就不是树形结构。非树形结构:注意:①子树是不相交的,如果存在相交就是图了。②除了根结点外,每个结点有且仅有一个父结点。③一棵N个结点的树有。

2025-10-29 12:35:42 1058 11

原创 栈和队列:“单端吞吐”VS”双端通行“(第十讲)

/定义一个节点结构}QueueNode;//定义队列的结构//队头//队尾}Queue;

2025-10-12 15:03:44 929 20

原创 双向链表----“双轨联动,高效运行” (第九讲)

链表的结构非常多样,按照以下的组合起来就有8种:(1)带头或者不带头带头链表中的“头结点”,,我们称之为“在前面的文章中,有时候表述“头结点”,但实际上单链表中把第一个节点称为“头结点”这种说法是错误的。(2)单向或者双向(3)(不带头单向不循环链表)和双链表(带头双向循环链表)。

2025-10-10 23:59:06 798 20

原创 单链表的应用02---算法中的暴力美学(第八讲)

题目来源:由分析可知:相交链表也就以下这三种情况:注意:下面这种“八叉型”的相交在链表中不存在这种结构,因为相交点的next指针不可能同时指向两个节点。。思路:求两个链表的长度,长的那个链表先走“两个链表长度差”步,走完后,长短链表开始同步遍历,找相同的节点。

2025-10-08 18:03:11 872 16

原创 单链表的应用01---算法中的暴力美学(第七讲)

题目来源:思路一:查找值为val的结点并返回结点,然后删除指定位置的结点。时间复杂度为O(N^2)。:创建新链表,将原链表中不为val的结点拿到新链表中进行尾插。。

2025-10-07 17:35:15 692 5

原创 数据结构初阶(第六讲)单链表的功能实现

链表是一种物理结构上非连续,非顺序的存储结构,数据元素的是通过链表中的指针链接次序实现的。逻辑结构是线性的,物理结构不一定是线性的我们知道,火车由一节一节的组成,那么,链表由一个一个的组成。其中,这个结点包括两部分:保存的数据和指针(始终保存下一个结点的地址注:链表每个结点在堆区是独立存在的,不是连续的!

2025-10-05 18:28:15 588 7

原创 C语言第一练

注:有的题目为多选哦,答案及解析在文末~

2025-10-02 21:53:40 725 2

原创 009 函数----功能实现的‘积木块’(函数这一篇就够了!!!)

函数 static extern 函数调用 链式访问

2025-09-29 20:25:29 806 19

原创 008 数组----同类数据的集装箱 (速进!保姆级讲解!)

数组,二维数组,二分查找

2025-09-26 14:20:00 5930 14

原创 007 分支和循环(下)----编程趣味游戏

本文介绍了两个C语言程序:1)关机程序实现60秒倒计时关机,输入特定文字可取消关机;2)猜数字游戏程序,电脑生成1-100随机数,玩家猜测并得到大小提示。重点讲解了随机数生成的原理(使用rand/srand/time函数)和范围控制方法。关机程序提供goto和while循环两种实现方式,猜数字游戏包含菜单界面和游戏逻辑。文章最后预告了下次将讲解数组相关内容。

2025-09-24 12:55:29 1322 11

原创 006 分支和循环(中)

分支 循环 while for do while goto

2025-09-21 10:50:33 854 16

原创 005 分支和循环(上)

C语言,循环 选择 顺序

2025-09-14 22:32:52 734 5

原创 004 C语言数据类型和变量(3)

C语言 变量 数据类型 scanf

2025-09-13 23:07:13 519 3

原创 003 C语言数据类型和变量(2)

C语言 数据类型 变量 scanf printf

2025-09-11 22:22:32 857 3

原创 002 C语言数据类型和变量(1)

数据类型 C语言 全局变量 局部变量 sizeof

2025-09-09 23:09:53 1135 1

原创 001 C语言常见概念

C语言

2025-09-07 23:46:49 1061 2

原创 001【模拟】多项式输出

算法基础,模拟实现

2025-08-21 09:27:36 340 2

原创 数据结构初阶(第五讲)顺序表和链表

动态顺序表的实现

2025-08-18 18:15:30 355 2

原创 数据结构初阶(第四讲)顺序表和链表

数据结构,线性表,顺序表,链表

2025-07-22 20:48:27 707 2

原创 数据结构初阶(第三讲)如何提高时间复杂度与空间复杂度

此时为两个分别的循环,时间复杂度为O(N+N)=O(N),但是由于这个思路额外申请了空间,空间大小为numsSize,则此时空间复杂度为O(N)。但是我们注意到,N^2的时间复杂度在算法的时间复杂度中不算很好,我们在设计算法时尽量要让时间复杂度低于N^2,如何让时间复杂度低于N^2呢?,由题目中的提示信息(如下)可知,k与numsSize大小一样,并且它俩都为变量,则此时时间复杂度可写为。思路二时间复杂度降下来了,但是空间复杂度又升上去了,额外消耗了空间,因此这种方法我们又称为“,从而让时间复杂度降下来。

2025-07-22 20:46:05 393 4

原创 数据结构初阶(第二讲)复杂度(空间复杂度)

数据结构 复杂度 空间复杂度 大O渐进表示法

2025-07-18 15:46:44 449

原创 数据结构初阶(第一讲)复杂度(时间复杂度)

时间复杂度,复杂度,算法,数据结构

2025-07-15 17:30:23 1136 2

原创 cout的格式输出以及cin/cout与printf/scanf的区别

1.1cin/cout在输入输出时不需要手动控制格式,系统会自动根据创建变量的类型来自动识别。最后总结:其实cout的格式控制只需了解,毕竟太多函数,名字容易记混,在算法竞赛中,如果遇到格式控制,大多使用printf()函数。1.2cin/cout可以进行多个输入和多个输出,但是cout在进行多个输出时,需要手动添加空格。:设置浮点数的精度,以控制小数点后的数字位数,一般先固定小数点,(防止其为科学计数法)再设置精度。好了,以上就是主要的关于cout的格式输出,说到这里,这部分内容就告一段落了。

2025-04-29 15:49:18 581 4

空空如也

空空如也

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

TA关注的人

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