自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AIGC技术带给我们什么?基于AIGC原理及其技术更迭的思考

AI,这个词在如今人们的视野中出现频率几乎超过了所有一切其他的事物,更有意思的是,出现频率仅次于这个词的,几乎都会加上一个修饰亦或是前缀——AI,没错,还是它。正值五一假期,我们试着在网上搜索关键词的相应指数,分别对“ai”和“五一”两个词进行对比,我们发现:顶峰时期的”五一“一词也几乎只是达到”ai“的日常水平。(数据仅供参考,具有极强的范围局限性——尽管如此,我相信人们如今对于ai的讨论已作为家常便饭)

2024-05-07 21:31:26 1739 51

原创 题目----力扣--链表的中间结点

给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。[3,4,5]链表只有一个中间结点,值为 3。[4,5,6]该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。

2024-05-14 10:34:07 125 1

原创 【数据结构】线性表----链表详解

前面我们介绍的顺序表,在逻辑结构和物理结构上都是线性、连续的关系,那么我们在篇尾的时候也提到了是否有一种顺序表,无需在物理结构上连续,从而达到更好存取的目的呢?今天它来了。链表(LinkList)属于线性表的一种,以下是百度百科关于链表的定义:在结构上链表数据域指针域。我们可以类比成火车,火车每一节车厢实际上是独立的,也就好比数据域,存储着各自的数据;但每一节车厢之间都会由一条链连接在一起,从而形成整个火车,链也就好比指针域,起到连接该车厢和指向下一车厢的作用。而实际上这样的存储结构也就是为什么。

2024-05-14 09:38:58 982 8

原创 题目----力扣--移除链表元素

给你一个链表的头节点head和一个整数val,请你删除链表中所有满足的节点,并返回。

2024-05-07 14:51:37 351 2

原创 【数据结构】----顺序表项目-通讯录

顺序表的底层是—决定了其作为的特性—从简单的顺序表变成通讯录通讯录中不同的数据构成了一个,例如包含联系人的数据:姓名,性别,电话,家庭住址,年龄…诸如此类。而我们针对这些通讯录中的数据进行一系列的操作,例如。然而这些操作实际上已经在顺序表中实现好,我们只需要直接更改函数的名称并且直接调用即可,或者是直接调用已有的函数放在通讯录的操作函数中直接实现。

2024-05-03 11:24:41 796

原创 题目----力扣--合并两个有序数组

给你两个按排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你nums2到nums1中,使合并后的数组同样按排列。最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m + n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n。需要合并 [1,2,3] 和 [2,5,6]。合并结果是 [,2,,5,6] ,其中斜体加粗标注的为 nums1 中的元素。[1]

2024-05-03 11:22:25 5

原创 题目----移除元素

给你一个数组nums和一个值val,你需要移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下://是以“引用”方式传递的。也就是说,不对实参作任何拷贝// 在函数里修改输入数组对于调用者是可见的。

2024-05-01 16:52:44 205 1

原创 【数据结构】线性表----顺序表详解

顺序表(SeqList)属于线性表的同一种,它同样具有线性的存储结构,以下是百度百科关于顺序表的定义:总结下来,在结构上顺序表实际上的底层结构就是数组,而顺序表本身也就是对一个数组的封装以及修饰;在元素上顺序表实际上就是元素之间逻辑关系和物理关系一致的一种线性表,与其对应的是链表(后续会谈及)。下面针对这两个方面具体解释什么是顺序表。结构上顺序表的底层结构通常是通过数组来实现的。数组是一种连续存储数据元素的数据结构,可以通过下标来访问数组中的元素。在顺序表中,

2024-05-01 16:51:35 865 2

原创 【算法】----BF算法&KMP算法

请想象一个情景:当你脑海中突然浮现出一个词,你该怎么去找到这个词的有关内容?打开我们浏览器的搜索框,你想的这个词,然后点击。浏览器就会自动搜索与该词匹配的内容。这个过程实际上可以简化成以下形式:有一个,一个(也叫),现在要查找在中的位置。我们今天所讨论的两个算法就是有关该过程的算法。事实上,对于检索,无非就是两个字符串的匹配过程,模式串是你想要匹配的串,主串是你搜索所在串。针对模式串中的一个个字符与主串进行匹配,匹配成功则继续往后匹配;

2024-04-24 23:47:20 1131 4

原创 题目----数据结构线性表----字符串逆序

函数f对p指向的字符串进行逆序操作。要求函数f中不能定义任何数组,不能调用任何字符串处理函数。

2024-04-24 23:45:30 160 1

原创 编译和链接

同时,链接器会调整 main.o 和 helper.o 中 global_var 的地址,以确保它们在内存中的位置是正确的。(1) 符号解析:在链接阶段,链接器会解析目标文件中的符号(如变量名、函数名等),并将其与其定义所在的目标文件或库文件进行关联。(2)符号重定位: 在链接过程中,链接器会根据目标文件中的重定位信息,将各个目标文件中的代码段和数据段进行合并,并调整各个符号在内存中的地址。在进行完编译之后,合法的源代码就会进行汇编器进行语言的转换,会将高级语言的代码转换机器代码,也就是二进制指令。

2024-04-03 12:54:41 732

原创 题目----获得月份天数

KiKi想获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天。

2024-04-03 12:52:09 128

原创 C语言(16)----预处理中的宏以及预处理指令

一般来说宏可以定义常量也可以定义变量。//name和左括号要紧密相邻注意:一般在语句的最后不会加上分号;//打印出来为以下://123;;而对于某些函数语句例如if、while,更有可能出现语法错误。max = MAX;

2024-04-02 12:17:12 732

原创 题目----LeeCode热题100--1 两数之和

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。

2024-04-02 12:16:59 163

原创 解决VS中的_CRT_SECURE_NO_WARNINGS 1的警告问题

在记事本中写入 _CRT_SECURE_NO_WARNINGS 1 这段话,并保存。此时已经完成 _CRT_SECURE_NO_WARNINGS 1 语句的默认填入。在你的vs源文件中搜索名为 newc++file.cpp 的文件。将其复制到桌面,并用记事本打开该文件。将其复制回原文件夹并替换原来的该文件。

2024-03-26 11:31:51 234

原创 文件的介绍

文件是计算机中用于存储数据的一种载体。一般储存在磁盘上。文件通常以一定的格式和结构存储数据,可以包含文本、图像、音频、视频等各种类型的信息。文件可以通过文件系统进行管理和组织,用户可以对文件进行创建、打开、编辑、保存、复制、移动、删除等操作。常见的文件格式包括等。文件在计算机中起着非常重要的作用,是信息传递和存储的基本单位。在程序设计中,我们把文件一般分为两类,一类是程序文件,一类是数据文件。

2024-03-26 11:30:54 865 2

原创 C语言(15)----动态内存讲解

动态内存区分于静态内存,理论上就是大小可以动态变化的内存存储方式。静态内存空间开辟的大小是固定的,这会导致内存中只能存放指定的大小,不能调整。那么动态空间分配的出现,使得程序员可以自行更改内存的大小,让程序更加灵活和方便。

2024-03-06 14:39:54 1020

原创 C语言(14)----柔性数组

在结构体中,最后一个元素为可变长度的数组,这个数组叫做柔性数组struct Strint i;char x;int a[];//柔性数组}type_a;

2024-03-06 14:39:34 448

原创 C语言(13)----联合和枚举

联合体(union)是一种特殊的数据类型,可以在同一内存空间中存储不同类型的数据。联合体和结构体(struct)类似,但不同之处在于结构体的各个成员会分别占用内存空间,而联合体的各个成员共享同一内存空间。鉴于这个特性,联合体也叫做共用体。

2024-02-26 17:01:09 233

原创 题目----序列中删除指定数字

中,我们使用两个循环来遍历整数数组。第一个循环用来找到要删除的数字,并将其后面的数字向前移动一个位置。第二个循环用来输出删除指定数字后的序列。题目:有一个整数序列(可能有重复的整数),现删除指定的某一个整数,输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。,该函数接受一个整数数组、数组长度和要删除的数字作为参数。函数删除指定的数字,并输出删除指定数字后的序列。在这个程序中,我们首先定义了一个函数。函数中定义了一个整数数组。

2024-02-17 13:15:51 188

原创 C语言(12)----结构体

结构体是用户自定义的一种类型,它使用关键字struct来定义结构体。

2024-02-17 13:08:17 1311 2

原创 题目----who is the killer?

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。现在请根据这些信息,写一个程序来确定到底谁是凶手。已知3个人说了真话,1个人说的是假话。

2024-02-14 17:40:08 199

原创 数据存储以及内存

数据在内存中的存储是因不同的类型而不同的。但首先我们需要知道的是,在C语言中,数据在内存中的存储是以变量的形式存储的。每个变量都有一个地址,指向内存中的特定位置。变量的值存储在这个地址对应的内存单元中。不同类型的变量在内存中占据不同大小的空间,例如整数型变量通常占据4个字节的空间,而字符型变量通常占据1个字节的空间。所以说实际上数据的存储也是由于类型所占字节不同而改变的。接下来分别对不同类型的存储进行介绍。

2024-02-14 14:37:46 712

原创 除夕快乐!

打印的简单实现,祝大家新的一年万事顺意!

2024-02-09 14:08:55 112

原创 C语言(11)----内存函数

内存函数主要用于动态分配和管理内存,它直接从指针的方位上进行操作,可以实现字节单位的操作。其包含的头文件都是:string.h。

2024-02-09 13:56:52 3624

原创 题目----递归和非递归分别实现求n的阶乘(不考虑溢出的问题)

【代码】题目:递归和非递归分别实现求n的阶乘(不考虑溢出的问题)

2024-02-05 16:56:26 118

原创 C语言(10)----字符函数和字符串函数

C语言中字符和字符串的使用非常之多。为了提高代码的效率以及精简代码,C语言规定了一系列的字符函数和字符串函数。接下来对常用的函数进行介绍。

2024-02-05 16:52:43 1293

原创 C语言(9)----NULL、null(或者NUL)、\0、0、‘0’几者之间的区别

本质也是0,在C语言中,NULL是一个宏定义,通常被定义为一个空指针常量(通常是0或者(void *)0)。它通常用于表示一个空指针,即指向没有特定对象的指针。所以一般用于指针初始化。表示空字符,是一种转义字符,在字符串中,用它来表示字符串的结束。通常指的是空字符或者空指针,实质上的作用相当于\0。表示字符0,它的ASCII码值是48。null(或者NUL)

2024-02-04 11:44:54 116

原创 指针(7)---*和&的区别

在C语言中,和都是用于操作指针的符号。是取地址运算符,用于获取变量的内存地址。例如,&a表示变量a的地址。是指针运算符,用于获取指针所指向的变量的值,也就是我们常说的解引用。例如,*ptr表示指针ptr所指向的变量的值。因此,&和*是互为逆运算的符号,&用于获取变量的地址,*用于获取地址所指向的变量的值。在这里我们可以运用strlen和sizeof所对应的数据的打印来辨别其不同。

2024-02-02 17:19:31 450

原创 C语言(8)----长度计算方法:sizeof与strlen的对比

sizeof是用来计算内存大小的一种操作符,它只计算内存的大小,无论内存中存放的是什么类型的数据。单位:字节为什么答案都是4呢?因为sizeof是不看内容的,就算a=100000,只要它的类型是int,那么计算出的也只是一个int类型所占的字节大小也就是4。

2024-01-25 15:40:56 372

原创 指针(6)---qsort函数

qsort函数是一个排序函数,它是基于快速排序的算法来排序的。qsort是一个库函数,是可以直接拿来使用的。.h。

2024-01-24 16:31:06 388

原创 指针(5)---回调函数

回调函数通常作为参数传递给其他函数,它是一个通过函数指针调用的函数。简单来说这个函数的作用就是用来在特殊的条件满足时用来调用其他函数的一个函数。

2024-01-24 14:16:26 337

原创 题目----计算某年某月的天数

问题:获得某年某月有多少天,编程实现。目的:计算这一年这个月有多少天。

2024-01-23 23:57:14 347

原创 指针(4)---转移表

其次我们可以注意到原先向纵向延伸的一系列选择(加减乘除)变为了横向延伸,函数指针数组可以使得函数在数组内元素变化的情况下直接被使用,这也脱离了switch语句的限制。这种做法相当于使用switch语句来达到分支选项的实现,但是我们认为该代码的可读性以及长度都可以进行优化。我们可以使用一个函数指针数组(也就是一个转移表)来优化它。提高代码的可读性和维护性,也就是使得代码更加“好看”。现在要求写一个关于计算器的代码用于基本的四则运算。总而言之,操作表的使用可以大大提高程序的执行效率。

2024-01-23 23:31:51 480

原创 计算机基础

本文围绕计算机的发展以及计算机中信息的表示形式对计算机进行简述。

2023-12-28 14:39:48 1083 3

原创 计算机网络简述

根据百度词条的描述,计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路和通信设备连接起来,在网络操作系统网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。通俗来说,计算机网络是以实现远程通信和资源共享为目的,大量分散而又互联的计算机的集合。

2023-12-25 17:30:41 1293 2

原创 指针(3)---不同指针变量

需要注意的是,这里的两个参数名通常是可以去掉的,因为它们实际上作用不大,我们使用函数指针变量的主要目的是将这个函数存放起来。因为函数的地址就是函数名的地址,无需再使用解引用操作来调出函数的地址,它本身就已经得知了。总结:这些看似很复杂的代码,如果我们不了解函数指针的知识的话,是很难理解的。在上述代码中,通常在主函数中调用这个函数时我们会忽略这个函数的类型其实是。在使用的过程中,我们就可以使用重命名后的名字来代替原本冗长的名字,当常量字符串出现在表达式中时候,它的值也就是第一个字符的地址。

2023-12-19 12:31:30 983 2

原创 题目----从小到大输出

你想要把这两个杯子中的液体进行互换,但是如果直接进行互换是不可行的,因为杯中始终有液体无法空出来存放置换后的液体。所以我们需要再额外添加一个。如果输入的是2 3 1,但是输出的却不是2 3 1,就说明变量发生了换位操作。我们只要添加一个变量来存放原有的其中一个变量也就可以实现换位操作。针对这类问题,我们都可以归类为。也就可以倒进这个杯中,而此时。,这时候杯子空出来了,在编程中也是如此实现。现在你有一个杯子装着。

2023-12-14 23:28:31 482 2

原创 指针(2)--指针与数组

先看一个案例在这个代码中,我们提取了数组的首字母的地址和数组名来进行打印,结果是这样的:可以发现它们两个的地址是相同的,所以我们可以得出在通常情况下,数组名表示的就是数组首元素(第⼀个元素)的地址。再来看一个案例:在这个代码中,我们打印sizeof(数组名),结果是这样的:理论上来说如果数组名是数组首元素的地址,那打印出来应该是4或8也就是一个元素所占的字节,但这里却是40。

2023-12-11 20:36:55 1126

原创 题目----逆序

自己设计以上函数的参数,返回值。

2023-12-09 17:48:24 368

空空如也

空空如也

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

TA关注的人

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