自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【leetCode\OJ】随机链表的复制

给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的。深拷贝应该正好由n个节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。。例如,如果原链表中有X和Y两个节点,其中。那么在复制链表中对应的两个节点x和y,同样有。返回复制链表的头节点。用一个由n个节点组成的链表来表示输入/输出中的链表。

2024-05-24 08:29:46 237

原创 【每日一题】给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。

如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(如果pos是-1,则在该链表中没有环。pos,仅仅是为了标识链表的实际情况。链表。返回索引为 1 的链表节点链表中有一个环,其尾部连接到第二个节点。返回索引为 0 的链表节点链表中有一个环,其尾部连接到第一个节点。返回 null链表中没有环。

2024-05-23 09:52:14 419

原创 【每日一题】环形链表

1- N是偶数,第一轮就追上了。2- N是奇数,第一轮追击会错过,fast和slow距离变成C-1a- 如果C-1是偶数,下一轮追上了b- 如果C-1是奇数,那么就永远追不上。

2024-05-19 17:51:36 537

原创 把由十六进制数字组成的字符串(包含可选的前缀0X和0x),转化为与之等价的整数值,字符串中包含的字符可以是0-9,A-F,a-f

2-如果0x57按顺序来转化,不太好转,因为不知道有几位。所以先写一个倒置的函数,改写成75x0。先定义一个int i = 0;这样就方便乘的i次方。1-十六进制是一种基数为16的计数系统,是一种逢16进1的进位制。例如十六进制0x57,写成十进制是。第一位乘16的0次方,第二位乘16的1一次方。

2024-05-15 23:33:08 166

原创 【C语言】编译和链接

在Linux下,当我们使用GCC来编译Hello World程序时,只需使用最简单的命令(假设源代码文件名为hello.c):gcc hello.c // 生成a.exe文件a.exe输出:事实上,上述过程可以分解成4个步骤,分别是。如下图。

2024-05-08 23:50:21 718 1

原创 【C语言】文件操作详解(非常详细,一学就会)

为什么使用文件?如果没有文件,我们写程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运行程序,是看不到上次程序的数据的,如果要将数据进行持久化的保存,我们可以使用文件。一、什么是文件?磁盘(硬盘)上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。

2024-03-31 23:46:08 2044

原创 【C语言】动态内存分配

不管是C还是C++中都会大量的使用,使用C/C++实现数据结构的时候,也会使用动态内存管理。我们已经掌握的内存开辟方式有://在栈空间上开辟四个字节//在栈空间上开辟10个字节的连续空间上面的内存申请方式,但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才知道,那数组在编译时开辟空间的方式就不能满足了。C语言引入了动态内存开辟,让程序员自己可以申请和释放空间,就比较灵活。

2024-03-23 22:17:54 741 1

原创 【C语言】自定义类型:联合和枚举

像结构体一样,联合体也是由一个或者多个成员工程,这些成员可以是不同的类型1,但是编译器只为最大的成员分配足够的空间。联合体的特点是。所以联合体也叫:共用体。给联合体其中一个成员赋值,其他成员的值也会跟着变化。输出结果:400D9FA6C00D9FA6C00D9FA6C为什么大小是4?为什么联合体和联合体成员地址相同?

2024-03-23 00:49:43 670 1

原创 【C语言】自定义类型:结构体

1、位段的成员必须是 int、unsigned int 或 signed int,在C99中位段成员的类型也可以选择其他类型。2、位段的成员名后边有一个冒号和一个数字。//位段式的结构struct Aint _a : 2;//占2个bit位int _b : 5;//占5个bit位//占10个bit位//占30个bit位A就是一个位段类型。那位段A所占内存的大小是多少?int _b : 5;

2024-03-22 22:51:21 1122 2

原创 【C语言】内存函数

注:size_t num这个参数给到是字节数。20个字节就是5个整型。对于重叠的内存,交给memmove来处理。

2024-03-22 00:06:50 660 1

原创 【C语言】字符函数和字符串函数

C语言中有一系列的函数是专门做字符分类的,也就是一个字符是属于什么类型的字符。这些函数的使用都需要包含一个头文件是ctype.h如何控制字符ASCII码中,第0~31号及第127号(共33个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)等。函数 islower:判断参数部分c是否是1小写字母通过返回值来说明是否是小写字母,如果是小写字母就返回非0整数,如果不是小写字母,则返回0。练习:写一个代码,将字符串小写字母转为大写,其他字符不变。

2024-03-21 23:05:29 863 1

原创 【C语言】深入理解指针(扩展)

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)做为参数传递给另一个函数,当这个歌指针被用来调用其所指向的函数时,被调用的函数就回调函数。回调函数不是又该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的。用于对该事件或条件进行响应。写一个计算器的实现的代码中,有部分代码是重复出现的,其中虽然执行计算的逻辑是区别的,但是输入输出操作是冗余的,有没有办法,简化一下?

2024-03-10 16:01:51 343 1

原创 【C语言】字符指针

这⾥str3和str4指向的是⼀个同⼀个常量字符串。C/C++会把常量字符串存储到单独的⼀个内存区域,当几个指针指向同⼀个字符串的时候,他们实际会指向同⼀块内存。但是用相同的常量字符串去初始化不同的数组的时候就会开辟出不同的内存块。所以str1和str2不同,str3和str4相同。特别容易让大家以为是把字符串。上⾯代码的意思是把⼀个常量字符串的⾸字符 h 的地址存放到指针变量 pstr 中。在指针的类型中我们知道有一种指针类型为字符指针char*首元素的地址放到 pstr 中。里了,但是本质是把字符串。

2024-03-09 23:21:41 353 1

原创 【C语言】深入理解指针(进阶篇)

一级指针:是一个指针变量,指向一个普通变量,并保存该普通变量的地址二级指针:是一个指针变量,指向一个一级指针,并保存该一级指针的地址二级指针是一个指向指针的指针变量。它存储了一个指针的地址,该指针又指向另一个变量的地址。二级指针画图。

2024-03-09 23:10:00 968 1

原创 【C语言】深入理解指针(一篇让你完全搞懂指针)

①const int* p (int const *p):const放在*的左边。

2024-03-07 19:54:23 6117 3

原创 【C语言】关键字typedef和static

typedef 简单说就是把unsigned重命名为uint把结构体struct Node重命名为Node。

2023-12-29 01:04:15 497 1

原创 【C语言】第七篇:函数递归

递归是一种解决问题的方法,在C语言中,递归就是函数自己调用自己的方法。通过自己调用自己,递归可以将某个复杂的问题,分解成规模较小的子问题。递归设置属于,而且函数在不停的调用自己,换句话说是一层一层的嵌套。以上的代码,就是一个简单的递归程序,不过上面的递归只是为了演示递归的基本形式,不是为了解决问题,所以代码在运行时,会陷入死递归,导致栈溢出(Stack overflow)

2023-12-19 19:37:53 961

原创 【C语言】扫雷游戏的实现(详解)

扫雷是一款智益小游戏,游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。这里我们要设计三个文件:test.c 文件中游戏的测试逻辑。game.c 文件中写游戏中函数的实现等。game.h 文件中写游戏中需要的数据类型和函数声明等。在扫雷游戏开始之前,我们要了解要①先有菜单,②进行选择是否游戏,如果选择开始游戏,创建棋盘数组,要有两个棋盘数组,③一个棋盘用来存雷,④另外一个棋盘用来展示,⑤初始化棋盘数组,⑥布

2023-12-17 20:01:58 1301 2

原创 【C语言】第六篇:函数

自定义函数和库函数一样,都有返回值和函数参数。但是不一样的是,自定义函数都是由我们自己来设计。这给程序员更大的发挥空间。一般我们在使用函数的时候,直接将函数写出来就使用了。比如:我们要写一个函数判断一年是否是闰年//判断⼀年是不是闰年return 1;if(r == 1)printf("闰年\n");elseprintf("⾮闰年\n");return 0;上面的代码is_leap_year(int y)部分是。

2023-12-13 23:42:42 926

原创 【经验贴】Windows11锁屏聚焦失效/不换壁纸怎么解决

右键点击【个性化】,选择【锁屏界面】,个性化锁屏界面下拉框选择【图片】。

2023-12-06 13:04:22 3852 1

原创 【C语言】第五篇:数组

它是由某种类型的数据按照一定的顺序组成的,用下标来指示数组中元素的序号。

2023-12-04 23:54:56 1066 1

原创 【C语言】猜数字小游戏

开始判断随机数和猜测数是否相等,如果猜测数大于随机数,输出“猜大了”;如果猜测数小于随机数,输出“猜小了”;如果猜测数和随机数相等,输出“恭喜你猜对了”,并break终止循环。使用do...while语句,是因为该程序是要先进入循环,执行循环语句,然后再执行white后的判断表达式。在程序中我们一般是使用程序运行的时间作为种子,因为时间是时刻变化的;输入1开始游戏,先生成随机数1-100,再定义一个猜测的变量。用time函数的返回值设置种子。

2023-12-03 20:44:52 363 1

原创 【C语言】第四篇:随机数的生成

C语言提供了一个函数叫rand,这个函数是可以生成随机数的,函数原型如下:rand函数会返回一个,这个随机数的范围是0~RAND_MAX之间,这个RAND_MAX的大小是依赖编译器实现的,但是大部分编译器上是32767。rand函数的使用需要保护一个头文件:stdlib.h测试rand函数运行结果:两次运行结果一模一样,这就说明有点问题。这是因为rand函数生成的是随机数是的,伪随机数不是真正的随机数,是通过某种算法生成的随机数。真正的随机数是无法预测下一个值是多少的。而rand函数是对一个叫“

2023-12-03 19:41:40 830 1

原创 【C语言】第三篇:分支和循环

C语言是结构化的程序设计语言,这里的结构指的是。

2023-12-03 16:29:39 951 1

原创 【经验贴】scanf()为什么要比预期多输入一次才出结果?

也就是说,scanf会等到输入中出现了非空白字符才会返回。而scanf()函数的结束是回车,所以我们输入了2,回车,再输入3,当输入3时,空白字符的吃掉效果就消失了,这时再回车结束才会出结果。格式字符串(也就是scanf的第一个参数中)出现了空白字符(空格、\n、\t之类的),那么scanf就会吃掉输入中接下来的空白字符。所以为了方便和不引起误会,建议在用scanf中尽量不用空白字符和转义字符,这样在运行程序时就会减少错误。,一个占位符却输入了两次,但是读取的是第一次输入的值。这是因为在占位符后面加了。

2023-12-02 00:53:28 473

原创 【C语言】第二篇:C语⾔数据类型和变量

在C语言中,任何数据对用户呈现的形式有两种:常量和变量。而无论是常量还是变量,都必须属于各种不同的数据类型。

2023-12-02 00:20:13 966

原创 【C语言】第一篇:初识C语言

C语言是目前国内使用最广泛的程序设计语言之一,也是计算机课程体系中的第一门重要的基础课程。它具有简洁紧凑、使用灵活方便、表达能力强、运算符丰富、执行效率高、可移植性好等优点。

2023-11-28 23:16:15 1008 1

空空如也

空空如也

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

TA关注的人

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