自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Leetcode算法题(链表的中间节点+返回倒数第k个节点+合并两个有序链表)

本题力扣链接:https://leetcode.cn/problems/middle-of-the-linked-list/solutions/164351/lian-biao-de-zhong-jian-jie-dian-by-leetcode-solut/

2024-07-16 16:31:07 395 11

原创 leetcode算法题(反转链表)

创建新的链表,遍历原链表,将原链表的节点进行头插到新链表中。

2024-07-15 22:19:32 232 7

原创 Leetcode算法题(移除链表中的元素)

思路1:创建一个新的带头链表 (newhead),遍历头结点对应的值分别于x进行比较,将不等于x的节点尾插到新的带头链表中,返回新的带头链表的下一个节点。题目如下:思路1:创建一个新的带头链表 (newhead),遍历头结点对应的值分别于x进行比较,将不等于x的节点尾插到新的带头链表中,返回新的带头链表的下一个节点。

2024-07-15 21:54:46 331 1

原创 数据结构(空间复杂度介绍)超详细!!!

实际中我们计算时间复杂度时,计算的也不是程序的精确的执⾏次数,精确执⾏次数计算起来还是很 ⿇烦的(不同的⼀句程序代码,编译出的指令条数都是不⼀样的),计算出精确的执⾏次数意义也不⼤, 因为我们计算时间复杂度只是想⽐较算法程序的增⻓量级,也就是当N不断变⼤时T(N)的差别,上⾯我 们已经看到了当N不断变⼤时常数和低阶项对结果的影响很⼩,所以我们只需要计算程序能代表增⻓量 级的⼤概执⾏次数,复杂度的表⽰通常使⽤⼤O的渐进表⽰法。随着时代的发展,计算机的容量得到了较快的发展,因此一个算法不在特别关注空间复杂度。

2024-07-14 00:56:03 602 7

原创 初阶数据结构(顺序表的实现)

1. 线性表1. 线性表线性表是(linear list)n个具有相同特性的数据元素的有限队列。线性表是一种在实际广泛应用的的数据结构,常见的线性表:顺序表,链表,栈,队列,字符串。。。线性表在逻辑结构上是连续的。但在物理结构上不一定连续,线性表在物理上存储时,通常以数组和链表的形式存储。2. 顺序表2.1 概念与结构概念:顺序表是用一段物理地址连续的存储单元一次存储数据元素的线性结构,一般采用与数组类似的存储方式。顺序表与数组的区别。

2024-07-11 14:34:34 670 25

原创 顺序表专题

顺序表的本质是数组,数据结构是计算机存储、管理数据内存的方式。线性表在物理结构角度看不一定连续,在逻辑结构角度下一定连续。前提:顺序表是线性表的一种,同时顺序表又分为。6. 指定位置之前插⼊数据。静态顺序表和动态顺序表。7.指定位置之前删除数据。10. 顺序表的头部删除。3. 顺序表的尾部插入。4. 顺序表的尾部删除。1. 顺序表的初始化。1. 顺序表的初始化。//顺序表的尾部插入。//顺序表的尾部删除。8. 打印数据的内容。

2024-06-18 23:15:00 372 9

原创 文件初阶入门(葵花宝典)

上面的适用于所有输入流一般指适用于标准输入流和其他输入流(如文件输入流);所有输出流一般指适用于标准输出流和其他输出流(如文件输出流)。ANSIC 标准采⽤“缓冲⽂件系统” 处理的数据⽂件的,所谓缓冲⽂件系统是指系统⾃动地在内存中为。因为有缓冲区的存在,C语⾔在操作⽂件的时候,需要做刷新缓冲区或者在⽂件操作结束的时候关闭⽂件。feof的作用是:当文件读取结束的时候,判断读取结束原因是否是:遇到文件末尾结束。在文件读取过程中,不能使用feof函数的返回值直接判断文件是否结束。

2024-06-14 23:17:02 567 7

原创 编译和连接

1. 翻译环境和运行环境1. 翻译环境和运行环境在ANSI C 的任何一种实现中,存在两个不同环境。1) 翻译环境,在这种环境中源代码被转换为可执行的机器指令(二进制指令)。2) 执行环境,它用于实际执行的代码。2. 翻译环境翻译环境是怎么将源代码转换为可执行的机器指令?翻译环境大概所做的事情:编译和链接两个过程组成,而编译又可分为预处理(预编译)、编译、汇编三个过程。一个C语言的项目中可能有多个 .c 文件一起构建,那多个 .c 文件如何生成可执行程序?(1)

2024-06-12 23:12:23 970 26

原创 文件的基础必备知识(初学者入门)

1.为什么使用文件我们写的程序数据是存储在电脑内存中,如果程序退出,内存回收,数据就丢失,等程序再次运行时,上次的数据已经消失。面对这个问题即我们想将数据永久保存,我们就可以使用文件。2. 什么是文件磁盘(硬盘)上的数据的集合就是文件。在文件功能的角度看,文件一般分为两种:程序文件、数据文件。2.1 程序文件程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe).2.2 数据文件。

2024-06-10 22:15:19 1112 16

原创 动态内存管理

包含柔性数组成员的结构用malloc()函数进行内存的动态分配,并且分配的内存应该大于结构体的大小,以适应柔性数组的预期大小。如果开辟失败,则返回 NULL 指针,因此malloc的返回值一定要做检查,防止的空指针的解引用操作。函数的功能是开辟 num 个大小为 size 字节的元素开辟空间,并且把空间的每个字节大小初始化为0。1 -> 如果 ptr 指向的空间不是动态开辟的,那free函数的行为是未定义的。申请的空间太小,有时又觉得空间太大,为了合理的利用内存,我们需对空间做灵活的调整。

2024-06-08 22:25:10 1098 12

原创 自定义类型:联合体和枚举

>当最大成员大小不是最大对齐数的整数倍时,就要对齐到最大对齐数的整数倍。像结构体一样,联合体也是由一个或多个成员构成,这些成员可以是不同类型。5. 枚举变量是遵循作用域规则的,枚举声明在函数内,只能在函数内使用。联合的成员是共用同一块内存空间,联合体的大小至少是最大成员的大小。2. 和#define定义的标识符比较枚举有类型检查,更加严谨。这些枚举的值默认从0开始,依次递增1,也可以对枚举类型赋初值。给成员其中一个赋值,其他成员的值也跟着变化。-> 联合体的大小至少是最大成员的大小。

2024-06-04 13:29:36 807 50

原创 自定义类型:结构体

1. 结构体类型的声明2. 结构体变量的创建和初始化3. 结构体成员访问操作符4. 结构体传参5. 结构体实现位段。

2024-06-02 23:31:51 893 14

原创 数据在内存中的存储

因为在计算机系统中,我们以字节为单位,每个地址单元都对应着一个字节,一个字节为8 bit 位,但是除了8 bit的 char 之外,还有16 bit 的 short 型,32 bit的 long型(取决于编译器),由于寄存器的宽度大于一个字节,那么必然存在一个如何将多个字节安排的问题。IEEE 754规定,计算机保存M时,默认这个数的第一位总是1,因此可以舍去,只保存小数点后面的部分,比如保存1.01的时候,只保存01,等到读取的时候,再把1加上去,这样做的目的是,节省一位有效数字空间,使精确度更高。

2024-06-01 15:41:13 1297 18

原创 深入理解指针<三>

本质是将字符串hello wzy首字符的地址放到str中,且字符串hello wzy为常量字符串,不可以通过解引用操作改变字符的值。解释:p和*结合,说明p是一个指针变量,然后指向的是一个大小为10个整形的数组。通过程序测试,可以看到函数也有地址,函数名就是函数的地址,也可以通过%函数名获得函数的地址。p先与[10]结合,说明p是数组,类型是int(*)(int)的指针。函数指针变量用来存放函数的地址,可以通过函数的地址来调用函数。二维数组的首元素是第一行的地址,是一个一维数组。数组指针的用途:转移表。

2024-05-19 13:54:20 464 11

原创 C语言内存函数和字符串函数(入门必看)

C语言程序启动时都会使用一个全局变量errno来记录程序的错误码,程序启动时errno为0,表示没有错误,当我们在使用标准库函数发生某种错误,将会转化为对应的错误码,错误码难理解,所以没一个错误码都有对应的信息,strerror函数可以将对应的错误信息字符串的地址返回。.函数memcpy从source的位置开始从后复制num个字节的数据到destination的指定位置上。---------->num为字节的个数,不是元素的个数。memset用来设置内存的,将内存中的值以字节为单位设置想要设置成的内容。

2024-05-18 21:19:42 499 4

原创 深入理解指针《2》

sizeof(数组名),sizeof中单独放数组名,这里的数组名表示整个数组,计算的是整个数组的大小,单位是字节。&数组名,这里的数组名表示整个数组的大小,,取出的是整个数组的地址(除此之外,其他的全是数组首元素的大小)。&arr[0]就是数组第一个元素的地址,而且是数组首元素的地址。既然说数组名是首元素的地址,那接下来的代码对此疑惑?数组名是首元素的地址,应该为4/8才对。2. 整形数组 是存放整形的数组。所以 指针数组是存放指针(地址)的数组。数组传参传递的是数组首元素的地址。将一组数据排序成降序。

2024-05-14 16:38:09 319 5

原创 深入理解指针(1)

assert.h头文件定义了宏assert(),用于在运行是确保程序符合指定条件,如果不符合,就报错,程序终止运行,这个宏成为“断言”。int* 表示p是一个指针类型,p指向a,p存放的是变量a的地址。指针是C语言的核心部分,学习指针可以使内功更扎实,代码更高效和创新点更多。执行完 int n=0x11223344语句玩后n的地址。&(取地址操作符) 简而言之:取出的是变量的地址。*p(对p所指的地址进行解引用)即a=*p。执行完 *p=0语句玩后n的地址。执行完 *p=0语句玩后n的地址。

2024-05-11 18:59:35 351 6

原创 第十五届蓝桥杯第四题:好数

题目:一个整数如果从低位到高位顺序,奇数位(个位,百位,万位 ........)上的数字是奇数,偶数位(十位,千位,十万位.........)的数字是偶数,我们就称之为“好数”。1 进行判断前就可以排除大部分数,比如个位上是偶数的数字就没必要进行判断了,空间复杂度和时间复杂度都减少了很多。3 取出数后对每个数位上的数字单独取出做判断,看到属于奇数还是偶数。给定一个整数N,请计算从1到N一共有多少个好数。2 首先用ant记录数位,每判断一次就加一。【程序源代码如下】如有更好地代码,欢迎大家指教。

2024-04-27 23:54:03 250 5

原创 数组练习(有趣的代码)

这个代码如何实现的,首先对两个数组定义出左右下标,也就是进行覆盖,覆盖完了以后让他们的左右下标同时移动,左坐标左移,右坐标右移,直至左下表的大小刚好大于右坐标是就退出循环。

2024-04-27 23:38:20 198

原创 C语言实现简单扫雷

当然扫雷还有更难的模式本人水平有限,若有不足,请各位大佬赐教。

2024-04-27 23:29:52 209 1

原创 我的计划书

本人是一名在校软件与区块链(计算机类专业)软件工程四班的一名大一新生,我毕业的就业目标是成为一名开发工程师,了解到开发工程师对个人的编程能力要求很大,通过网上的编程网站进行练习,二:寻找在企业实行的经验且拥有优秀的语言表达能力可以使自己令人印象深刻,多模仿别人的优秀代码和多查找资料扩展知识,计划一周大约56个小时在编程方面的学习,最想进入优秀的华为公司。

2024-01-16 19:04:17 447 2

空空如也

空空如也

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

TA关注的人

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