自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 windows命令行与批处理

win + r,输入 cmd 或 cmd.exe,然后按回车,默认进入当前用户路径下的cmd在文件路径栏里输入cmd,可以直接跳到当前路径下的cmd。

2024-12-20 15:44:04 1057

原创 【LeetCode】389_找不同_C

本题可用三个方法来解决方法1首先遍历字符串 s,对其中的每个字符都将计数值加 1;然后遍历字符串 t,对其中的每个字符都将计数值减 1。当发现某个字符计数值为负数时,说明该字符在字符串 t 中出现的次数大于在字符串 s 中出现的次数,因此该字符为被添加的字符。此方法也是我解题时所用的方法,与“383.赎金信”一样,都是用哈希表的思想来解决问题方法2分别对字符串 s 和 t 中每个字符的 ASCII 码的值求和,两者的差值即为被添加的字符方法3。

2024-03-04 18:52:38 661 1

原创 【LeetCode】1768_交替合并字符串_C

实现方式1是我自己的写法,写完之后感觉有点冗余,但又不知如何改进,实现方式2则是借鉴了别人的题解,显然,方式2的代码更加简洁优雅。

2024-03-03 09:04:02 668 1

原创 【LeetCode】383_赎金信_C

题意理解判断 ransomNote 能不能由 magazine 里面的字符构成由此推出,ransomNote 的长度一定要小于等于 magazine 的长度其次,本题与 KMP 算法无关,如果说 ransomNote 是"abc",而 magazine 是"abbc",这也是符合题意的解题思路。

2024-03-02 21:43:22 843

原创 【LeetCode】876_链表的中间结点_C

思路一遍历链表得到结点数,根据结点数求中间结点所在位置,再次遍历链表思路二设置两个指针,一个指针为“快指针”,每次前进两个结点,一个指针为“慢指针”,每次前进一个结点,当快指针指向链表尾结点时,慢指针指向链表的中间结点。

2024-03-01 16:10:57 701 1

原创 【LeetCode】412_FizzBuzz_C

1在内存中开辟一块连续的空间,每个小空间是一个字符,将这块空间分割成多个小块空间,这就是字符串数组题目中最长的字符串是"FizzBuzz",该字符串占9个小空间(末尾有个终止符),所以每个小块空间中有9个字符于是有arr 指针指向开辟的空间,answer 指针对该空间起到一个索引的作用,相当于创建了一个字符串数组2如果一个数是3和5的倍数,那么这个数也是15的倍数3将数转换成字符串用到函数 sprintfC 库函数发送格式化输出到str所指向的字符串。

2024-02-29 13:43:18 554 1

原创 【数据结构】C语言实现图的相关操作

图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G 表示一个图,V 是图 G 中顶点的集合,E 是图 G 中边的集合。

2024-02-24 11:56:56 2101

原创 【数据结构】C语言实现二叉树的相关操作

二叉树是 n(n>=0) 个结点的有限集,它或者是空集(n = 0),或者由一个根结点及两棵互不相交的分别称作这个根的左子树和右子树的二叉树组成。

2024-02-22 16:04:56 1748 1

原创 【数据结构】数组、稀疏矩阵的操作、广义表

若多个数据元素的值都相同,则只分配一个元素值的存储空间,且零元素不占存储空间。

2024-02-21 09:14:08 1658

原创 【数据结构】串的表示和模式匹配算法

当发现某个字符不匹配时,按照BF算法,需要从头开始重新比较例如:指向主串中待比较的字符的箭头称为主串指针指向子串中待比较的字符的箭头称为子串指针此时,由于字符不匹配,主串指针需要回退,指向主串中的5号位置,子串指针需要指向子串中的1号位置,继续逐个进行比较然而,注意到当字符匹配失败时,有一个信息是BF算法中没有用到,那就是匹配失败前的每个字符是相等的KMP算法就利用了这个信息,使得主串指针可以不断向前而不回退,算法的时间复杂度降为OnmO(n+m)Onm。

2024-02-17 17:43:29 1315 1

原创 【数据结构】C语言实现队列的相关操作

队列是一种遵循先入先出规则的线性数据结构,是一种只允许在表的一端插入,在另一端删除的线性表队尾 rear:插入端,线性表的表尾。队头 front:删除端,线性表的表头队列可以用数组或者链表实现用数组实现队列时,由于队列采用头删尾插的操作方式,数组中队列的队头和队尾会不断的后移,如果到达数组末尾,那么队列就难以实现头删尾插的操作了,为了解决这种问题,采用循环队列的形式,让队头或队尾在越过数组尾部时,可以回到数组的头部然后继续操作,这种循环的形式可以通过取余操作来实现。

2024-02-13 13:10:38 1204 1

原创 【数据结构】C语言实现栈的相关操作

栈是一种遵循先入后出逻辑的线性数据结构,是只能在表的一端进行插入和删除运算的线性表进行插入和删除的一端的称为栈顶,另一端称为栈底栈的操作规则是后进先出或者是先进后出栈可以用数组或者链表实现,用数组实现的叫做顺序栈,用链表实现的叫做链栈。

2024-02-11 22:04:17 1085 1

原创 函数中的变量、参数和返回值

看以下例子func 函数想要将变量 a 的值修改为0,程序运行后,printf 的结果是10虽然名字都是 a,但是主函数 main 中的 a 和函数 func 中的 a 其实不是一回事变量只存在于它们所属的范围中,main 函数和 func 函数就是不同的范围,func 函数中的 a 只在 func 函数中起作用,main 函数中的 a 只在 main 函数中起作用,两者仅仅只是名字相同。在上面的例子中,func 函数中让 a = 0 的操作,不会影响到 main 函数中的 a。

2024-02-09 13:54:08 768 1

原创 【数据结构】C语言实现链表的相关操作

以链式结构存储的线性表称之为线性链表,线性链表中逻辑上相邻的数据元素的存储空间可以是不连续的,为表示逻辑上的顺序关系,对线性链表中的每个数据元素除存储本身的信息之外,还需存储其后继的地址(即用指针表示逻辑关系)。线性链表中的每个元素(由数据域和指针域构成)称为结点(node)。首元结点:链表中存储第一个数据的结点头结点:在首元结点前附设的一个结点(不存储数据,指针指向首元结点)头指针:指向链表中第一个结点的指针(有头结点就指向头结点,无头结点则指向首元结点)

2024-02-08 12:07:44 1229

原创 【数据结构】C语言实现顺序表的相关操作

顺序表:在内存中用地址连续的一块存储空间顺序存放线性表的各元素,用这种存储形式存储的线性表称为顺序表线性表:具有相同特性的数据元素的一个有限序列。

2024-02-05 11:52:19 666 1

原创 一文理解算法时间复杂度

一个算法的运行时间是指一个算法在计算机上运行所耗费的时间,大致可以等于计算机执行一种简单的操作(赋值、比较、移动等)所需要的时间与算法中进行该简单操作次数的乘积。算法运行时间一个简单操作所需的时间×简单操作的次数也就是算法中每条语句的执行时间之和(一种简单操作对应一条语句)算法运行时间∑一条语句的执行次数×该语句执行一次所需的时间每条语句执行一次所需的时间,一般是随机器而异的。取决于机器的指令性能、速度以及编译的代码质量。是由机器本身的软硬件环境决定的,这与算法本身无关。

2024-02-04 19:45:30 1040 1

原创 初步理解malloc与指针

分配 size 字节大小的空间,返回该空间首部的地址。新分配的空间上的内容没有被初始化,仍然具有不确定的值。如果 size 的大小为0,返回值取决于特定的库的实现(有可能是空指针,也有可能不是),但是返回的地址不应该被解引用。分配成功返回首地址,分配失败返回NULL头文件:<stdlib.h>malloc 和指针密切相关,我们知道指针是指向地址的变量,比如说有以下代码内存中有个变量是 n,它的值为0,内存中还有个变量是 p,它的值为 n 的地址。

2024-02-03 23:14:12 1304 1

原创 gets_getchar_scanf_puts用法

从stdin获取字符串,并把它们作为一个C字符串存入str中,直到遇到换行符(\n)或者文件末尾(EOF)如果有换行符,则换行符不会被复制到str中在复制到str的字符之后会自动添加一个终止的 null 字符(\0)注意:该函数在 C 或 C++ 中不再可用(从 C11 和 C++14 起)str:指向一个内存块(字符数组)的指针,在该内存块中读取的字符串被复制为C字符串读取成功,返回str读取失败,返回NULL详情见由于会处理输入的回车(换行),所以gets函数不存在输入输出和缓冲区的问题。

2024-01-30 13:00:18 505 1

原创 VS2022简单操作_Debug_Warning&Error

当调试遇到函数时,逐语句会进入函数内部然后再逐行调试,逐过程会直接执行此函数,得到函数运行结果。局部变量和自动窗口,和监视窗口功能也差不多,只是不能指定要查看的变量,都是由系统自动生成的。源文件、添加、现有项,选择txt文件(txt文件和.c文件最好是在同一文件夹中)工具、选项、字体和颜色、字体:Consolas,大小:14。选择二进制编辑器后,发现文件开头有8个0,正常,不需要管。查看该地址及其之后地址的信息,在名称后加逗号,再加一个数。按 F9,光标所在行,代码区左侧会出现红圆。

2024-01-29 17:24:59 2523 1

空空如也

空空如也

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

TA关注的人

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