自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 刷题记录--算法--简单

上面的图表现出time=5时走出了一个往复,用除法体现5/3=1(这里必须是除3也就是n-1,因为向右前进时i只走了三步),剩下的两部5%3=2,所以n=4,time=5时,i走了一个往复,先向右走到4,然后调头走到2,这里的5/3=1的1表示的i走完一个全程(全程指的是1到4,或者4到1,不管方向,总之1代表走完一个全程,就是这样凸(艹皿艹 )这特么的这么难写,凸(艹皿艹 )啊);接下来看看n,n分为1两种情况,n

2023-12-07 16:04:21 228

原创 C++基础之类二(六个成员函数、构造及析构)待完善

构造函数与析构函数分别管理类对象的初始化与释放构造函数没有返回值,名称与类名相同,可以重载,也可以缺省,不显示定义,编译器会自动生成无参的构造函数,但是编译器生成的对内置类型不处理,对自定义类型会调用它的默认构造函数。默认构造函数时指无参或者全缺省的构造函数,一个类中有且只有一个默认构造函数。析构函数与无参无返回值,函数名是类名前加~,一个类有且只有一个析构函数,不显式定义时,编译器会自动生成,但编译器生成的只能完成有限的工作,对于内置类型不处理,对于自定义类型会调用它的析构函数。

2023-10-23 21:38:22 153

原创 C++基础之类二(类的实例化,This指针)

之前学过了类,但在编程中类无法直接使用,需要将类进行实例化后才能使用,现在就来看看类的实例化是什么?用类创建对象的过程叫做类的实例化,类可以抽象为虚拟的图纸,对象是按照图纸创建好的类,创建的过程就是类的实例化。对象是按照类创建的实体,所以对象的功能是按照类的设计,但两者之间还有很多不同点有内容的类:看一下下面的代码,它的大小应该是多少?看一下其中的元素,一个成员函数,两个成员变量,32位系统的情况下,成员函数的地址是4个字节,char类型是1字节,int类型是4字节,按照内存对齐的规则,这个类应该是1

2023-10-12 21:43:08 178

原创 C++基础之类一(面向对象,类的定义,类的作用域)

从类开始学习C++,是因为类很好的体现了C++的面向对象的特性,类是C语言的struct升级版本,除了包含程序所需的成员变量外,还增加了该成员的成员函数,实现了一个完整的对象。需要注意类的定义并不是创造了类的实体,而是定义类的图纸,创造实体时按照图纸进行创建。");exit(-1);

2023-10-09 19:51:11 80

原创 C++基础三-内联函数

内联函数声明与定义不能分离,是因为编译时符号表中不会有内联函数的地址,内联函数只能在定义的文件中使用,链接时声明文件没有内联函数的地址,所以会出现无法解析外部符号的错误;所以内联函数的声明和定义一定要放在一起。

2023-09-14 22:51:08 81

原创 C++基础二-引用

引用不是新定义了一个变量,而是给已存在的变量取了一个别名,编译器不会为引用开辟空间,引用和其指向的实体共用一个空间。

2023-08-29 22:18:13 45

原创 C++基础一(命名空间、缺省参数、函数重载)

C++ 命名空间 函数重载 缺省参数

2023-07-24 21:16:23 33

原创 数据结构初阶之二叉树(5)

之前学习过二叉树的遍历,其实遍历的思路还可以用作二叉树的创建,假设我们有以下的二叉树前序遍历的结果"abd##eh##i##cf##g##",把这个字符串还原为一个二叉树。二叉树的销毁需要依次销毁节点,所以根节点应当是最后销毁的,所以最符合的是后续遍历的顺序(左节点--->右节点--->根节点)。完全二叉树只有最后一层才会出现空,且空后不会出现数据,所以判断完全二叉树,最好的方法是使用层序遍历,判断空后是否出现元素。层序遍历是按照二叉树每一层进行遍历,进行层序遍历需要使用队列,利用队列先进先出的特性。

2023-01-25 14:22:52 79

原创 数据结构初阶之二叉树(4)

力扣 刷题 递归 链表 二叉树 ​1. 单值二叉树。Oj链接2. 检查两颗树是否相同。OJ链接3. 对称二叉树。OJ链接4. 二叉树的前序遍历。 OJ链接5. 二叉树中序遍历 。OJ链接6. 二叉树的后序遍历 。OJ链接7. 另一颗树的子树。OJ链接

2022-12-06 22:40:15 301

原创 数据结构初阶之二叉树(3)

二叉树,前序,中序,后续,二叉树递归,节点的个数,叶节点的个数,二叉树高度递归,二叉树查找节点,二叉树某层节点个数

2022-12-05 20:40:08 255

原创 数据结构初阶之二叉树(2)

C语言,数据结构,算法,二叉树,满二叉树,完全二叉树,堆,TOPK,堆排序,向上调整,向下调整,时间复杂度

2022-12-01 22:37:53 145

原创 数据结构初阶之二叉树(1)

除了根节点以外,其余的节点形成一个M(M>0)个互不相交的集合,每个集合的Ti(1

2022-11-30 18:53:39 213

原创 数据结构初阶之栈和队列

栈,队列,C语言,数据结构,算法,栈的概念,队列的概念,栈与队列的不同。

2022-11-15 20:32:36 163

原创 数据结构初阶之顺序表和链表

思路1,原地删除,该思路是在原来的链表中,对值为val的节点进行删除,主要考虑的是首节点的值为val,以及非首节点的值为val两种情况,首节点的值为val时,不断的移动首节点,直到找到第一个值不为val的节点,非首节点的值为val时,该节点被释放,所以需要两个指针,cur进行释放,prev指针进行定位,当该节点值不为val时,两个指针同时向前移动一步。上图红色箭头指向的节点就是开始逆置的节点,奇数个数节点的链表就是中间的节点,偶数个数的链表就是中间两个节点中靠后的一个,这里可以使用快慢指针实现。

2022-11-09 22:52:13 282

原创 数据结构初阶之算法的时间复杂度和空间复杂度

任何一段代码运行时都需要耗费时间与空间(内存),所以一段代码可以从时间与空间的角度来判断它的好坏,因此就有了时间复杂度与空间复杂度。时间复杂度主要是衡量一个代码运行的快慢,空间复杂度主要是衡量一段代码运行时需要多少额外的空间,不过因为现在的内存空间够大,所以空间复杂度显得不是很重要。

2022-10-05 20:33:44 333

原创 进阶C语言之数据在内存中的存储

C语言的基本内置类型名称解释占据空间(单位字节)char字符1short短整型2int整型4long长整型4(32位)/8(64位)long long长长整型8float浮点型4double双精度浮点型8类型的意义:一、决定了开辟的内存空间的大小。二、决定了看待内存空间的角度(存入和读取数据的方式)。

2022-09-24 23:47:47 318

原创 初学C语言之结构体

;};int main(){struct peo p1 = { "张三", "12345678901", "男", 188 };struct stu s = { {"李四","98765432101","女",166},37 };return 0;}

2022-09-22 21:33:44 236

原创 初学C语言之指针

1、指针是内存中一个最小单元的编号,也就是地址。

2022-09-21 22:19:07 217

原创 初学C语言之操作符详解

表达式2:表达式3,如果表达式1的值为真,那么计算表达式2的值并作为整个表达式的值,如果1为假,那么计算表达式3的值并作为整个表达式的值。规则:判断表达式的是否为真(C语言中0为假,非0为真),&&判断的是当两个值都为真时表达式的结果为真,若其中一个为假则表达式的值为假。(2)表达式,虽然a++的结果为1,但因为后置++,先使用再自增,所以表达式中得到的值为0,促发短路运算,后面没有再计算。(3)表达式,虽然a还是0,但前置++,a先进行了自增然后使用,所以表达式中的得到1,因此进行了后面的计算。

2022-09-20 21:04:18 160

原创 初学C语言系列之数组

上面这段代码的运行后,并没有将数组重新排序,根本原因是因为,数组传参是传递的是指针,因此BoboSort函数内的sz计算的是指针除以指针的大小结果为1,sz-1=0,i必须在小于0的时候才能进入循环,i的初始值为0,所以不能进入循环。从上图的运行结果发现,数组中元素的地址是连续的,而且是间隔相等的,所以数组在内存中是连续存储的,下标实际上就是记录每个元素地址位置的步长。上表可以看到,10个元素的数组,冒泡排序需要9趟,每次的对数是从9开始递减的,所以可以得出趟数=元素个数-1,对数=元素个数-趟数。

2022-09-08 18:18:11 664

原创 初学C语言系列之函数

{statement;}return_value 返回值fun_name 函数名para 参数statement 语句项(函数体)函数的声明是向编译器指出有这个函数,说明函数的参数类型,返回类型,但是并不是函数具体存在。函数的声明一般会出现在函数之前,函数的使用是满足先声明后使用。函数的声明一般要放在头文件中。函数定义是向编译器指出函数的具体实现方式。//函数声明,说明了print函数返回类型是void,不需要参数。...

2022-08-27 15:27:39 568

原创 C语言语句练习

演示出多个字符从两端移动,向中间汇聚,简单的说就是将上面数组的内容,赋值到下面的数组内,循环复制,每次只复制两端的两个字符,这个题需要思考的是循环的条件如何确定。假设被猜的数是7,mid的值是4对应的数组元素是5,5小于7,所以mid右边的数组元素可以不再管,将left的值修改为mid+1,并重新计算mid的值。分析:n的阶层就是1*2*3*4*5*....*n,所以程序需要一个变量不断的自增一直到n,还需要一个变量确定n的数值,需要一个变量存放n的阶层。5的阶层 :1*2*3*4*5=4!......

2022-08-17 19:35:37 380

原创 初学C语言系列之语句

程序所执行的就是语句。C语言的语句可以分为以下五类1、表达式语句。2、函数调用语句。3、控制语句。4、复合语句。5、空语句。选择与循环属于控制语句。控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语言的控制语句有九种1、条件判断(分支语句):if语句,switch语句。2、循环执行语句:while,for,do while。3、转向语句:break,goto,continue,return。...

2022-08-17 19:26:29 209

原创 初学C语言系列之C语言基础(3)

上面定义了一个最多放10个元素的整型数组。#define的作用是给实际内容定义标识符,相当于起了个别名定义后编程时可以直接使用标识符,程序编译阶段会替换成实际内容指针就是地址。指针变量是存放指针的变量。int *p=&a;int * p中,p是指指针变量的名称,*是说明p是指针变量,int说明p指向的对象是int类型。全局变量在编译时创建,局部变量在运行时创建。指针的意义,通过地址找到指针变量所指向的对象,*p就是p所指向的对象。}...

2022-08-09 18:40:22 262

原创 位运算练习-力扣645. 错误的集合

二、原数组除了错误数字,其余每个数字出现一次,所以没有出现的数字与错误的数字的奇偶性相同,与其他数字的奇偶性相异,所以在原数组后再加上正确数字组成的数组,并用xor进行异或判断,可以得出这缺失数字异或错误数字的结果。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合丢失了一个数字并且有一个数字重复。三、两个数字相异或得到的结果,是两个数字都没有的位,取其中的最低位,最低位计算的方法是lowbit=xor&(-xor)。来源力扣(LeetCode)...

2022-07-28 23:37:14 80

原创 初学C语言系列之C语言基础(2)

define定义的标识符常量,相当于给字面常量起了别名,在预编译时用实际的值进行替换。

2022-07-28 20:52:01 142

原创 初学C语言系列之C语言基础(1)

学习目的一、了解什么是C语言二、了解什么是C语言程序以及C程序的基本框架三、数据的类型四、变量和常量一、什么是C语言C语言以及底层C语言就是众多能和计算机交流,控制计算机的语言之一,是一种偏向于底层开发的语言。电脑是由硬件构成,需要驱动层和操作系统才能正常使用,这一部分被称为底层,C语言的优势就是针对这一部分编程。C语言的标准作为一门历史悠久的语言,C语言是有着统一标准的,这个标准是由ANSI(美国国家标准总局)指定的,截止目前已经经历了C89 C90 C.....

2022-07-26 21:44:39 233

原创 深度解析C语言字符串与字符串函数

库函数 字符串函数 内存函数

2022-07-19 00:06:17 220

原创 深度解析通讯录动态内存管理版本

通讯录动态管理版本

2022-07-17 16:26:39 250

原创 C语言实现通讯录之静态通讯录

通讯录

2022-07-17 14:53:38 260

原创 深度解析动态内存管理(1)

动态内存管理

2022-07-17 14:46:47 348

原创 深度解析C语言文件的操作(1)

文件操作函数

2022-07-16 22:50:20 635

原创 深度解析C指针的进阶

C语言,指针进阶,转移表,回调函数

2022-06-27 22:15:06 104

原创 深度解析结构体、联合体与枚举

C语言,结构体,联合体,枚举

2022-06-27 22:13:19 361

原创 牛客网刷题之蛇皮走位的矩阵(BC134 蛇形矩阵)

牛客网 刷题 蛇形矩阵 蓝桥杯 算法 C语言 BC134

2022-06-09 21:20:28 482 1

原创 初学C语言系列之数组

C语言,数组,一维数组,二维数组,数组名传参

2022-05-29 19:02:33 117

原创 每天随便刷点题

描述输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。数据范围:1 \le n, m \le 1000 \1≤n,m≤1000, 序列中的值满足0 \le val \le 30000 \0≤val≤30000输入描述:输入包含三行,第一行包含两个正整数n, m,用空格分隔。n表示第二行第一个升序序列中数字的个数,m表示第三行第二个升序序列中数字的个数。第二行包含n个整数,用空格分隔。第三行包含m个整数,用空格分隔。输出描述:输出为一行,输出长度为n...

2022-05-26 23:24:41 87

原创 深度解析C语言之数据在内存中的存储2

学习目的了解浮点家族了解浮点型在计算机内存中的表示方法了解浮点型的存入方式了解浮点型的读取方式一、浮点家族floatdoublelong double常见浮点数的表现形式3.1415926(小数形式写法)1E10(科学计数法)注意:浮点数表示的范围在float.h中定义浮点型在内存中的表现形式先看下面一段代码,因为浮点型在内存中的存储方式与整型不同,所以内存中同样的内容,用不同的类型读取得到的结果不一样。int main(){ int.

2022-05-26 22:18:28 111

原创 深度解析C语言之数据在内存中的存储1

C语言,数据存储,大小端,数据类型,二进制,原码,反码,补码

2022-05-26 20:24:16 184

原创 每天都要刷题系列之循环2

C语言,刷题,循环,图形,牛客网,圣诞树,

2022-05-21 00:43:53 765

空空如也

空空如也

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

TA关注的人

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