自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++:类和对象

class为定义类的关键字,Date为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的⽅法或者成员函数。为了区分成员变量,⼀般习惯上成员变量会加⼀个特殊标识,如成员变量前⾯或者后⾯加_ 或者 m开头,注意C++中这个并不是强制的,只是⼀些惯例,具体看公司的要求。

2024-07-19 00:31:59 777

原创 C++开篇

定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量,所以下⾯的rand不在冲突了。C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找⼀个变量/函数/类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。

2024-07-12 01:50:40 668 8

原创 数据结构--堆,堆排序

的。

2024-07-08 13:33:52 800 2

原创 C语言实现 人生重生模拟器游戏

课余时间实现的小游戏。

2024-07-03 22:03:45 467 16

原创 数据结构--栈与队列

队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First Out)队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数组头上出数据,效率会比较低。栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。把队尾前面全部数据给到另一个队列,就能取到队尾相当于栈顶的数据。入队列:进行插入操作的一端称为队尾。出队列:进行删除操作的一端称为队头。:栈的删除操作叫做出栈。栈的实现一般可以使用。

2024-06-27 00:47:49 497 29

原创 链表经典面试题--链表修至圆满

追上了 错过了---->进行新得一轮追击,距离变成C-1(假设C是环得长度)两种情况:1.C-1是偶数 2.C-1是奇数。由此,N是1奇数时,C也是奇数;N是偶数是,C也是偶数。结论:如果同时存在N是奇数且C是偶数,那么就永远追不上。假设slow进环时,fast跟slow距离时N,假设slow进环时,fast跟slow距离时N,N是奇数第一轮追不上,C-1是偶数第二轮就追上了。2.N是奇数,第一轮追击会错过,距离变成C-1。所以,N是奇数且C是偶数不能同时存在,

2024-06-20 00:50:50 767 38

原创 经典链表算法题

那么将数列从头至尾、0~numsSize(让存在的数字能出现第二遍)取异或,最后的结果一定是缺失的数。首先我们得清楚异或(^)的原理:相同为0,相异为1,并且0^任何数都等它本身,即(假设ab不相等)a ^ a = 0,a ^ b = b ^ a,0 ^ a = a。2.找交点:让长的链表先走两链表的差距距离,再同时走,第一相等的就是交点。后两指针同时走, 快指针走完,此时慢指针位置就是倒数第k个节点。1.先判断是否相交:判断尾指针是否一致(需要使用地址判断)快指针先走k步,快指针和慢指针距离相差k。

2024-06-16 00:36:50 465 12

原创 时间/空间复杂度(C语言)

但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。,它定量描述了该算法的运行时间。一 个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。3. 实例3递归调用了N次,开辟了N个栈帧,每个栈帧使用了常数个空间。使用大O的渐进表示法以后,Func1的时间复杂度为:O(N^2)的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。1. 实例1使用了常数个额外空间,所以空间复杂度为 O(1)2. 实例2动态开辟了N个空间,空间复杂度为 O(N)

2024-06-13 22:52:29 931 35

原创 数据结构--双向链表

2. 带头双向循环链表:结构最复杂,⼀般⽤在单独存储数据。实际中使⽤的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使⽤代码实现以后会发现结构会带来很多优势,实现反⽽简单了。实际中更多是作为其他数据结构的⼦结构,如哈希桶、图的邻接表等等。前面的单链表应该叫不带头单向不循环链表,前面的单链表章节提到的头节点只是为了方便理解,并不是真正的头节点。带头链表⾥的头节点,实际为“哨兵位”,哨兵位节点不存储任何有效元素,只是站在这⾥“放哨的”List.c//实现双向链表的方法。

2024-06-05 22:01:50 700 55

原创 数据结构--链表

想象⼀下这样的场景,假设每节⻋厢的⻋⻔都是锁上的状 态,需要不同的钥匙才能解锁,每次只能携带⼀把钥匙的情况下如何从⻋头⾛到⻋尾?链表的结构跟⽕⻋⻋厢相似,淡季时⻋次的⻋厢会相应减少,旺季时⻋次的⻋厢会额外增加⼏节。链表中每个节点都是独⽴申请的(即需要插⼊数据时才去申请⼀块节点的空间),我们需要通过指针变量来保存下⼀个节点位置才能从当前节点找到下⼀个节点。当我们想要从第⼀个节点⾛到最后⼀个节点时,只需要在前⼀个节点拿上下⼀个节点的地址(下⼀个节点的。最简单的做法:每节⻋厢⾥都放⼀把下⼀节⻋厢的钥匙。

2024-05-30 00:25:41 1437 18

原创 顺序表实现通讯录项目

实际上要进行的是顺序表的初始化,顺序表的初始化已经实现好了,所有直接调用顺序表中的SLlnit函数,便可以实现通讯录的初始化,定义ContactInit函数。要删除的数据必须存在,才能执行删除操作,所以在这之前要先实现一个查找函数FindByName。因为要用到SeqList.h中的顺序表,所以要改一下数据类型,改成创建好的通讯录类型。因为要用到顺序表相关的方法,对通讯录的操作实际就是对顺序表进行操作。这里首先接收用户要添加的数据,然后调用顺序表当中的头插或尾插。也是一样,可以直接调用顺序表实现好的方法。

2024-05-27 13:53:57 617 61

原创 我的创作纪念日

接触到编程没多久便开始了博客的创作,开始的初心便是能够记录我学习编程的过程及我进步的过程,如今也是的;但有时为了博客的持续输出有点注水,不那么注重博客质量,该反省,我会努力改正。我感觉创作博客已经成为我学习生活中的一部分,如果一个星期没写好两三篇就感觉很别扭。在创作当中,也让我重复的复习了一遍知识点,巩固了知识。希望以后越来越好,希望家人身体健康,SeqList(通讯录).h。学会了如何总结自己的代码。过去写得最好的一段代码?

2024-05-26 01:04:04 195 8

原创 C语言实现三子棋游戏

目录一.三子棋游戏分析和设计二.文件结构设计 三.代码实现1.先打印菜单,定义menu函数。2.棋盘初始化3.下棋玩家下棋:电脑下棋:4判断输赢判断平局:四、完整代码test.cgame.hgame.c那么应如何使用C语言实现呢?游戏界面:菜单: 设计成三个文件实现这个游戏。2.棋盘初始化创建二维数组board存放棋盘信息,定义qipan函数,初始化二维数组,使3*3的每个位置全部置为空打印棋盘,定义dayinqipan函数,使用 “-” 与“|”符号打印出棋盘电脑下棋:

2024-05-26 00:36:30 396 6

原创 数据结构--顺序表

但是在物理结构上并不⼀定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。线性表是⼀种在实际中⼴泛使⽤的数据结构,常⻅的线性表:顺序表、链表、栈、队列、字符串...存放指定位置,然后把pos之后的数据整体往后移动一位,在pos位置插入所需要的数据即可。因为数组并不是定长的,可根据实际数据大小进行动态申请空间,随着数据的增加,也可进行。顺序表的底层结构是数组,对数组的封装,实现了常⽤的增删改查等接⼝。与插入数据原理一样,只需在所需的位置删除数据即可。在数据的头部插入数据;在数据的尾部插入数据。

2024-05-25 16:37:15 614 3

原创 MySQL数据库--分组与统计

有时我们要的不是数据表中的原始数据,而是需要进行一点简单加工后的统计数据。

2024-05-16 14:56:10 894 28

原创 C语言-文件操作

1. 为什么使⽤⽂件?如果没有⽂件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运⾏程序,是看不到上次程序的数据的,如果要将数据进⾏持久化的保存,我们可以使⽤⽂件。2. 什么是⽂件?磁盘(硬盘)上的⽂件是⽂件。但是在程序设计中,我们⼀般的⽂件有两种:程序⽂件、数据⽂件(从⽂件功能的⻆度来分类的)。2.1 程序⽂件程序⽂件包括源程序⽂件(后缀为.c),⽬标⽂件(windows环境后缀为.obj),可执⾏程序(windows 环境后缀为.exe)。

2024-05-15 00:24:19 642 8

原创 C语言--动态内存管理

母亲节快乐,祝母亲长命百岁母亲节快乐,祝母亲长命百岁1. 为什么要有动态内存分配但是上述的开辟空间的⽅式有两个特点:空间开辟⼤⼩是固定的。数组在申明的时候,必须指定数组的⻓度,数组空间⼀旦确定了⼤⼩不能调整有时候我们需要的空间⼤⼩在程序运⾏的时候才能知道,那数组的编译时开辟空间的⽅式就不能满⾜了。C语⾔引⼊了动态内存开辟,让程序员⾃⼰可以申请和释放空间,就⽐较灵活2. malloc和free。

2024-05-12 00:28:48 1131 22

原创 数据库查询--条件查询

例如“匹配字符串”如果是w%这样的,那么它就可以匹配如“w”、“we”、“welcome”这样的等等。用判断某个字段的值是否在一个指定的集合中,如果字段在该集合中,则该字段所在的记录会被查询出来。如果字段的值(数值型)在指定范围内,则字段所在的记录将被查询出来;在上述语法格式中,匹配字符串指的是要用来匹配的字符串,通常里面还有某些通配符,如。查询student数据表的名字包含6个字符,并且以字母u结尾的学生的记录。的字符串,包括空字符串;查询student数据表中的名字里没有字母o的学生的记录。

2024-05-10 20:02:28 1129 4

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

目录C语言自定义类型--联合体和枚举1.联合体1.1联合体类型的声明1.2.联合体的特点1.3相同成员的结构体和联合体对比1.4联合体⼤⼩的计算2.枚举2.1 枚举类型的声明2.2 枚举类型的优点2.3 枚举类型的使⽤。

2024-05-07 14:17:43 702 8

原创 自定义类型:结构体

位段的声明和结构是类似的,有两个不同:1. 位段的成员必须是 int、unsigned int 或signed int ,在C99中位段成员的类型也可以选择其他类型。2. 位段的成员名后边有⼀个冒号和⼀个数字。int _b:4;int _c:5;int _d:4;A就是⼀个位段类型。那位段A所占内存的⼤⼩是多少?4.2位段的内存分配1.位段的成员可以是或者是char等类型2.位段的空间上是按照需要以4个字节(int)或者1个字节(

2024-05-01 11:18:04 1064 10

原创 C语言--数据在内存中的存储

一、整数在内存的存储整数的2进制表示方法有三种,即原码、反码和补码有符号的整数,三种表示方法均有符号位和数值位两部分 ,符号位都是用0表示’正‘,用1表示’负‘,最高位的一位被当做符号位,剩余的都是数值位。。:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。:将原码的符号位不变,其他位依次按位取反就可以得到反码。:反码+1就得到补码。对于整形来说:数据存放内存中其实存放的是补码。为什么呢?在计算机系统中,数值⼀律⽤补码来表⽰和存储。原因在于,使⽤补码,可以将符号位和数值域统⼀处理;

2024-04-23 23:17:55 1103 16

原创 数据库查询--简单查询

在很多数据表中,有些字段的值会大量重复出现,如student表中的性别字段和汽车信息表中的汽车类型字段。为了使得查询输出结果更易读,同时保护数据表字段定义不被泄露,可以使用字段别名来优化查询结果输出。当MySQL执行查询时,查询结果可能数量众多,但实际可能只需要其中的部分行记录。在默认情况下,查询输出结果就是按照数据记录最初添加到数据表里的顺序来排序的。查询数据表student中的所有记录(包括全部字段)其中单表查询又分为 简单查询 与 条件查询。数据库查询分为:1.单表查询。1.查询所有字段数据。

2024-04-23 00:16:54 412 9

原创 MySQL--数据的增删改

文中[ ]里面的内容可写可不写文中[ ]里。

2024-04-19 23:00:30 831 15

原创 C语言--函数递归

早上好,下午好,晚上好早上好,下午好,晚上好1、什么是递归?

2024-04-16 23:48:25 1629 15

原创 C语言--内存函数

和memcpy的差别就是memmove函数处理的源内存块和⽬标内存块是。如果source和destination有任何的重叠,复制的结果都是。是⽤来设置内存的,将内存中的值以字节为单位设置成想要的内容。⽐较从ptr1和ptr2指针指向的位置开始,向后的。出现重叠,就得使⽤memmove函数处理。2. memmove 使⽤和模拟实现。1.memcmp使用和模拟实现。1.memcmp使用和模拟实现。3.memset函数的使用。4.memcmp函数的使用。而对于重叠的内存,交给。

2024-04-15 00:00:24 688 13

原创 MySQL数据库基础二

1.1主键约束例:创建数据表student,并设置字段sno作为主键1.2多字段主键例:创建数据表sc,在表中将sno和cno两个字段共同作为主键1.3非空约束创建数据表student2,将表中的sname字段设置为非空约束1.4唯一约束例:创建数据表syudent3,将表中的sname设置为唯一约束1.5默认约束例:创建一个数据表sc2,将表中的hrade字段的默认值设置为01.6自动增长例:创建数据表student4将表中的sno字段设置为自动增长。

2024-04-12 16:54:44 602 11

原创 mysql数据库基础--基础操作

8 字节整数,范围为 -9223372036854775808 到 9223372036854775807(有符号),0 到 18446744073709551615(无符号)。:4 字节整数,范围为 -2147483648 到 2147483647(有符号),0 到 4294967295(无符号)。:3 字节整数,范围为 -8388608 到 8388607(有符号),0 到 16777215(无符号)。:2 字节整数,范围为 -32768 到 32767(有符号),0 到 65535(无符号)。

2024-04-10 00:02:06 1463 14

原创 字符函数和字符串函数

在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了⼀系列库函数,在这里总结一些函数的使用。

2024-04-08 21:59:54 1226 9

原创 C语言--指针终章

sizeof 计算变量所占内存内存空间⼤⼩的,单位是 字节,如果操作数是类型的话,计算的是使⽤类型创建的变量所占内存空间的⼤⼩。sizeof 只关注占⽤内存空间的⼤⼩,不在乎内存中存放什么数据。是C语⾔库函数,功能是求字符串⻓度。1.3 sizeof 和 strlen的对⽐。字符,直到找到为⽌,所以可能存在越界查找。之前字符串中字符的个数。中这个地址开始向后,

2024-04-06 15:27:27 688 10

原创 C语言--指针4

大家节日快乐,难得的假期,祝你们玩得开心。今天总结了指针第四部分。

2024-04-03 22:35:11 740 4

原创 C语言—指针3

⼆维数组传参,形参的部分可以写成数组,也可以写成指针形式。4.函数指针变量。

2024-03-31 20:30:19 1189 7

原创 C语言—指针2

1.数组名的理解1.数组名的理解这⾥我们使⽤&arr[0]的⽅式拿到了数组第⼀个元素的地址,但是其实数组名本来就是地址,⽽且是数组⾸元素的地址,我们来做个测试。输出结果:我们发现数组名和数组⾸元素的地址打印出的结果⼀模⼀样,数组名就是数组⾸元素(第⼀个元素)的地址。这时候就会有疑问了?数组名如果是数组⾸元素的地址,那下⾯的代码怎么理解呢?输出的结果是:40,如果arr是数组⾸元素的地址,那输出应该的应该是4/8才对。其实数组名就是数组⾸元素(第⼀个元素)的地址是对的,但是有两个例外:•。

2024-03-29 22:20:38 825 3

原创 C语言--指针1

一、内存和地址一、内存和地址1、内存在我们生活中,我们的每个房间都有对应的房间号,这样让我们的效率提高了很多,能快速的找到房间。如果把房间号对应到计算机当中,又是怎么样的呢?计算机为了⾼效的管理内存空间,也是把内存划分位一个个内存单元,每个内存单元的大小去1个字节。每个内存单元也都有⼀个编号(这个编号就相当于宿舍房间的⻔牌号),有了这个内存单元的编号,CPU就可以快速找到⼀个内存空间。⽣活中我们把⻔牌号也叫地址,在计算机中我们把内存单元的编号也称为地址。

2024-03-25 23:56:33 876 2

原创 VS调试技巧

BUG,原意为臭虫或虫子,在计算机领域,"BUG"通常指系统(如电脑系统、手机系统等)或程序(包括游戏等应用程序)中隐藏的错误、缺陷、漏洞等问题,简称程序漏洞。

2024-03-06 13:03:53 909 2

原创 C语言--操作符详细

/代码1:变量的定义int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//代码2:初始化。struct Stu //类型声明//名字int age;//年龄//初始化//指定顺序初始化//代码3int data;//结构体嵌套初始化//结构体嵌套初始化。

2024-03-03 16:08:58 940 2

原创 初识C语言--函数

int text_a(形式参数)int是函数返回类型,这里返回整型text_a是函数名括号中放的是形式参数{}括起来的是函数体,就是该函数所要实现的目的,函数体就是完成计算的过程。‘int’的位置是⽤来表⽰函数计算结果的类型,有时候返回类型可以是void,表⽰什么都不返回⼀般我们在使⽤函数的时候,直接将函数写出来就使⽤了。⽐如:我们要写⼀个函数判断⼀年是否是闰年。//判断⼀年是不是闰年return 1;

2024-02-20 18:51:57 791 5

原创 初识C语言--数组

数组在C语言中起到了存储、处理和组织数据的重要作用,是程序设计中不可或缺的一种数据结构。数组是一组相同类型元素的集合。数组分为一维数组和多维数组,多维数组一般多见的是二维数组。

2024-02-16 15:39:34 831 1

原创 扫雷游戏的实现

⼀个位置后,这个坐标处不是雷,这个坐标的周围有1个雷,那我们需要将排查出的雷的数量信息记录 存储,并打印出来,作为排雷的重要参考信息的。前面说过:假设我们排查了某⼀个位置后,这个坐标处不是雷,这个坐标的周围有1个雷,那我们需要将排查出的雷的数量信息记录 存储,并打印出来,作为排雷的重要参考信息的。这样就互不⼲扰了,把雷布置到mine数组,在mine数组中排查雷,排查出的数据存放在show数组,并且打印show数组的信息给后期排查参考。如果一个位置布置雷,我们就存放1,没有布置雷就存放0,

2024-02-02 22:15:49 1079

原创 初识C语言与学习经验

我相信大部分人都跟我一样,刚开始学觉得过于简单,老师说的都能懂,导致自己过于自信,而不重视,学完以后并没有进行复习与自己动手学代码。大家好,这是我的第二篇博客,可能写的有些许不足,还请见谅。注意:在C语言中 else 是与它最近的一个 if 所匹配,并不与上下对齐(缩进)有关,这里因为我学过一点点python,python中是需要缩进的,导致我一直都搞错了,希望大家注意。如图,switch后面根据不同的值,执行相应的case语句,如果找不到相应的值就从执行default语句,如下图执行打印了“输入错误”

2024-01-25 13:37:40 974

原创 专科生的编程之路

总之,作为一名专科生,我深知编程学习的道路充满挑战与困难。此外,我渴望在编程领域不断学习,紧跟技术发展趋势,成为一名具备竞争力的程序员。大家好,我叫潘震宁,是一名专科生。现在,我正式踏上了编程学习之路,希望在这里记录我的学习历程和心得。2.长期目标:在未来三年内,掌握至少两门编程语言,具备独立开发项目的能力,同时不断拓展技术领域。1.短期目标:在接下来的半年内,学会一门主流编程语言(C语言),并熟练使用相关开发工具和框架。3.积极参加各类编程比赛,如蓝桥杯等,增强自己的编程能力和积累经验。

2024-01-17 20:40:59 449 6

空空如也

空空如也

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

TA关注的人

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