自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 类与对象(下)

在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。虽然上述构造函数调用之后,对象中已经有了一个初始值,但是不能将其称为对对象中成员变量 的初始化,构造函数体中的语句只能将其称为赋初值,而不能称作初始化。因为初始化只能初始 化一次,而构造函数体内可以多次赋值。

2024-04-20 16:44:38 523

原创 类与对象(中)

注意:C++11 中针对内置类型成员不初始化的缺陷,又打了补丁,即:内置类型成员变量在 类中声明时可以给默认值。

2024-04-20 16:34:24 637

原创 类与对象(上)

/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分 号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者 成员函数。成员函数如果在类中定义,编译器可能会将其当成内 联函数处理。· 2.类声明放在.h文件中,成员函数定义放在.cpp文件中,注意:成员函数名前需要加类名一般情况下,更期望采用第二种方式。// 我们看看这个函数,是不是很僵硬?

2024-04-18 17:02:08 1124

原创 初始C++

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{} 中即为命名空间的成员。// bit是命名空间的名字,一般开发中是用项目名字做命名空间名。// 我们上课用的是bit,大家下去以后自己练习用自己名字缩写即可,如张三:zs// 1. 正常的命名空间定义// 命名空间中可以定义变量/函数/类型int val;//2. 命名空间可以嵌套int a;int b;int c;int d;

2024-04-18 13:30:52 982

原创 1.5w字长文,搞懂基本的所有排序

直接选择排序思考非常好理解,但是效率不是很好。实际中很少使用时间复杂度:O(N^2)空间复杂度:O(1)稳定性:不稳定*p1 = *p2;*p2 = temp;i

2024-04-14 23:48:41 909

原创 leetcode每日一题1969

注意点3:接着继续考虑,尽可能的形成1这个思路没错了,问题是最多有多少个1可以形成,接着我看示例3:我先是疑惑了一下,为什么是 1 1 1 6 6 6 7呢,和不变的情况下,差大积小,为什么不是 1 1 1 5 6 7 7呢,明显积更小啊,之后就被我发现了注意点三:在二进制位上的0、1数量是相对不变的,p=3举例,每个二进制位上都是4个1,3个0;,假如能形成 1 1 1 1 1 ……1 n,那肯定积最小,但是,这种情况是达咩的,这就是注意点二:交换是交换,上限不会超过2^p-1,数字的上限已经决定了。

2024-03-21 14:57:52 548

原创 leetcode每日一题2671

如果一个数字出现了,那么原来次数的次数就要少一次,原来次数+1的次数就要多一次,freq_cnt[freq[i]]--如果一个数字要删除,那么原来的次数的次数要少一次,原来次数-1的次数就要多一次;其实我们可以用两个哈希表来解决这道题,接着freq【i】++

2024-03-21 13:59:12 386

原创 leetcode每日一题310.最小高度树

目录一.题目原型二.题目思路三.代码实现

2024-03-17 23:55:37 348

原创 leetcode每日一题--矩阵中移动的最大次数

然后依次进行遍历,找到下一列可以走到的所有行坐标,这些下一列的行坐标都是严格满足比其走过来的点值要大的,然后将这些行坐标的集合替换掉之前的集合,再进行遍历,找到下一列能够走到的行坐标。我们创建一个二维dp数组,初始化为0,我们从不同行的第一列元素开始走,能走到的地方我们做一个标记为1,已经标记过的我们就不再去走了,以免死循环。在这题中,我们从第一列开始,往后能走多少,到了第几列,其实就是这一次的走的步数,走到最远的列,就是最大的移动次数。在递归过程中,记录能访问到的最大列号,作为答案。

2024-03-16 22:59:39 474

原创 详细解释可变参数列表C语言

使用。

2024-03-16 19:27:06 1005

原创 考研C语言复习进阶(6)

_FILE__ //进行编译的源文件__LINE__ //文件当前的行号__DATE__ //文件被编译的日期__TIME__ //文件被编译的时间__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义这些预定义符号都是语言内置的。举个栗子:语法:#define reg register //为 register这个关键字,创建一个简短的名字;) //用更形象的符号来替换一种实现。

2024-03-16 11:10:00 924

原创 考研C语言复习进阶(5)

磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。

2024-03-15 22:22:25 993

原创 考研复习C语言进阶(4)

C语言提供了一个动态内存开辟的函数:单位是字节这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。返回值的类型是 void* ,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定。如果参数 size 为0,malloc的行为是标准是未定义的,取决于编译器。

2024-03-15 18:14:43 732

原创 考研复习C语言进阶(3)

有了结构体类型,那如何定义变量,其实很简单int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋初值。struct Stu //类型声明//名字int age;//年龄//初始化int data;//结构体嵌套初始化//结构体嵌套初始化位段的声明和结构是类似的,有两个不同:1.位段的成员必须是 int、unsigned int 或signed int。2.位段的成员名后边有一个冒号和一个数字。

2024-03-15 14:37:34 1229 1

原创 考研C语言复习进阶(2)

strtok 函数大概的运行实现。

2024-03-14 20:52:36 727

原创 KMP算法!!

字符串匹配算法我们先了解BF算法,对我们理解KMP算法有帮助。

2024-03-14 19:23:20 636

原创 考研C语言复习进阶(2)

数组指针是指针?还是数组?答案是:指针。我们已经熟悉:整形指针: int * pint;能够指向整形数据的指针。浮点型指针: float * pf;能够指向浮点型数据的指针。那数组指针应该是:能够指向数组的指针。下面代码哪个是数组指针//p1, p2分别是什么?//解释:p先和*结合,说明p是一个指针变量,然后指着指向的是一个大小为10个整型的数组。所以p是一个指针,指向一个数组,叫数组指针。

2024-03-13 23:28:14 1422

原创 考研C语言复习进阶(1)

前面我们已经学习了基本的内置类型:char //字符数据类型short //短整型int //整形long //长整型long long //更长的整形float //单精度浮点数double //双精度浮点数以及他们所占存储空间的大小。类型的意义:1. 使用这个类型开辟内存空间的大小(大小决定了使用范围)。2. 如何看待内存空间的视角。

2024-03-12 23:35:41 1289 1

原创 考研C语言复习初阶(6)

有了结构体类型,那如何定义变量,其实很简单。int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋初值。struct Stu //类型声明//名字int age;//年龄//初始化int data;//结构体嵌套初始化//结构体嵌套初始化Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。

2024-03-12 00:26:16 501 1

原创 考研C语言复习初阶(5)

我们写出的表达式如果不能通过操作符的属性确定唯一的计算路径,那这个表达式就是存在问题的。二.练习1.交换两个变量(不创建临时变量)

2024-03-11 21:05:37 1184

原创 每日一题leetcode -299.猜数字游戏

【代码】每日一题leetcode -299.猜数字游戏。

2024-03-11 00:25:28 239

原创 考研复习C语言初阶(4)+标记和BFS展开的扫雷游戏

C语言本身是不做数组下标的越界检查,编译器也不一定报错,但是编译器不报错,并不意味着程序就是正确的,数组在创建的时候如果想不指定数组的确定的大小就得初始化。所以数组的下标如果小于0,或者大于n-1,就是数组越界访问了,超出了数组合法空间的访问。仔细观察输出的结果,我们知道,随着数组下标的增长,元素的地址,也在有规律的递增。数组的下规定是从0开始的,如果数组有n个元素,最后一个元素的下标就是n-1。数组的初始化是指,在创建数组的同时给数组的内容一些合理初始值(初始化)。2. &数组名,取出的是数组的地址。

2024-03-09 19:14:19 1194 1

原创 每日一题leetcode-找出数组的第K大和

读完题目后我们知道,该题就是让我们在子序列中求和,我们要在不同的子序列中排序找到第K大的和。何为子序列?子序列就是在一个数组中抽出一些元素构成一个新的数组即可,不要求一定是连续的;例如:数组【4,5,6】,子序列有【4】【5】【6】【】【4,5】【4,6】【5,6】【4,5,6】我们其实就可以发现,一个数组中有N个元素,

2024-03-09 14:36:44 383

原创 考研复习-函数栈帧(详解)

我们在写C语言代码的时候,经常会把一个独立的功能抽象为函数,所以C程序是以函数为基本单位的。那函数是如何调用的?函数的返回值又是如何待会的?函数参数是如何传递的?这些问题都和函数栈帧 有关系。函数栈帧(stack frame)就是函数调用过程中在程序的调用栈(call stack)所开辟的空间,这些空间 是用来存放: 函数参数和函数返回值 临时变量(包括函数的非静态的局部变量以及编译器自动生产的其他临时变量) 保存上下文信息(包括在函数调用前后需要保持不变的寄存器)。

2024-03-09 00:14:20 668

原创 考研复习C语言初阶(3)

如果库函数能干所有的事情,那还要程序员干什么?所有更加重要的是自定义函数。自定义函数和库函数一样,有函数名,返回值类型和函数参数。但是不一样的是这些都是我们自己来设计。这给程序员一个很大的发挥空间。statement;//语句项ret_type 返回类型fun_name 函数名para1 函数参数函数返回类型不写,默认返回INT类型我们写一个可以找出两个数中最大值的函数//get_max函数的设计(x):(y);

2024-03-08 16:14:11 1238 1

原创 每日一题leetcode第2834:找出美丽数组的最小和

那我们很自然的就想到,比如N=5,那其最小和肯定是1+2+3+4+5,再给个条件说target=9,那我们会发现一件事情,4和5我们只能有一个,我们肯定舍弃5,拿个6,此时3+6=9,舍弃6,拿进来7,2+7=9,舍弃7,拿8,8+1=9,舍弃8,最后进来9,可以此时最小和是1+2+3+4+9.首先我们看到这个题,就是根据给出的数组元素个数N,从[1,N]找出N个元素,使得N个元素的和最小,其中随便抽两个数出来,两个数之和不能为target。序号2的和: 首先要知道后面有几个数:N-target/2;

2024-03-08 13:53:00 678 2

原创 leetcode每日一题2575

我们第一思路是每次从左往右拿一个数与之前的数组合然后整除,如果可以整除,那么到i这里的word[i]就可以改成1,但是这样的时间复杂度到了O(N);

2024-03-08 00:23:50 270 3

原创 C语言复习初阶(2)

EOF最强解释以及考研C语言复习初阶(2)

2024-03-07 23:48:35 948 1

原创 考研复习c语言初阶(1)

c语言复习初阶(1)

2024-03-07 14:26:29 1081 1

原创 c语言实现三子棋(N子棋教程)+电脑超强博弈详解

c语言实现三子棋(N子棋教程)+电脑超强博弈详解

2022-11-09 23:51:09 1613 25

原创 c语言中关于八皇后问题的详细

关于八皇后问题的详细算法与解答

2022-11-06 18:37:20 3115 18

原创 C语言中关于const关键字的用法及详解

C语言中关于const的用法及讲解超详细版!!!

2022-10-29 17:12:53 4442 13

原创 c语言关于四舍五入问题的详细解释

有关四舍五入问题及其取整的库函数,float函数的详细解答。

2022-10-15 15:23:06 12907 9

空空如也

空空如也

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

TA关注的人

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