自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++类和对象(中)

上面的代码就是三种构造函数的写法,要注意的是第二种带参构造函数不是默认构造函数,只有不传实参就可以调用的构造函数才是默认构造函数,一般在写构造函数时建议写成全缺省的构造函数。在上面的代码中,定义了两个类,一个是Stack,一个是MyQueue,在Stack类中用malloc动态开辟了一段空间,所以在Stack类的析构函数要自己写去释放动态开辟的空间,而MyQueue类的析构函数不用写,因为自定义类型会调用自己的构造函数和析构函数,MyQueue是用两个栈实现的,析构时会调用栈的析构函数。可以看到

2024-07-21 20:36:24 546

原创 C++类和对象(上)

这便是类类型的定义格式,class为定义类的关键字,A为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量; 类中的函数称为类的⽅法或者成员函数。因为C++是兼容C语言的,所以在C++中,struct同样可以用来定义类与class定义类类型相似,struct为定义类的关键字,A为类的名字,{}中为类的主体,他们两之间的区别我们在后面会讲到。注意:我们在定义类的成员变量时一般会加上一个特殊标识,如成员变量前⾯或者后⾯加_ 或者m 开头,

2024-07-18 18:39:55 809

原创 C++入门基础

定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。int a;double b;这就是命名空间的普通定义,在命名空间内既可以定义变量也可以定义函数,zj是命名空间的名字。int a;double b;int x = 0;命名空间只能定义在全局,但命名空间是可以嵌套的,在一个命名空间内输入另一个命名空间。3.

2024-07-14 22:52:00 1119

原创 八大排序算法详解

生活中有很多地方都能使用到排序算法,像在京东、淘宝等网站搜索商品时,可以按照你的需求给商品进行排序。以上便是常见的排序算法,下面我们来一一实现他们。直接插入排序的基本思想:插入排序动图理解: 这里引用一下网上的动图,可以方便大家更好的理解直接插入排序。代码:结果: 希尔排序的基本思想:先选定一个整数gap,把待排序文件中所有记录分成gap个组,所有距离为gap的记录分在同一组内,并对每一组内的记录进行排序,然后将gap按一定方式减小,重复上述分组和排序的工作,当gap等于1时,所有记录在统一组内排好

2024-06-08 12:10:18 782

原创 二叉树详解

讲到这基本上已经将二叉树的基本概念讲完了,对于二叉树的实现以及递归还是有一定难度的,要自己去画图理解,希望以上所讲能够对你有所帮助,码字不易,有帮助的话记得一键三连哦!

2024-05-28 18:01:10 910

原创 栈和队列详解

栈只允许在栈顶进行操作,即插入数据在栈顶,出数据(删除)也在栈顶。这便是栈的结构,入栈和出栈都在栈顶进行。用数组实现栈的结构如上图所示,当然上图所展示的只是静态栈的结构,静态栈还是有许多缺点的,最为严重的就是空间的浪费,所以我们使用动态顺序表来是实现栈。代码:_a为数组,由我们自己动态申请空间,_top指向栈顶,_capacity为数组的容量。代码:这里将_top初始化为0,也有将_top初始化为-1的,他们直接的区别就在于当栈为空时,_top所指向的地方不同,_top为0时指向a[0],_to

2024-05-15 20:38:45 900

原创 链表基本功能的实现及链表经典OJ题讲解

一开始我们讲了链表,并且实现了链表的基本功能(增、删、查、改),当我们学会了链表的基本功能和操作后,我们便讲了三道链表的经典OJ题,前面两道环型链表难得不是编程而是思路,如果有了思路,那么解决就是时间问题,前两题对于链表的应用还算比较基础,最后一题对于链表的应用较为全面,如果在懂思路的情况下能够独立编写出代码,那么恭喜你,对于链表的理解和应用已经到了大成的境界。

2024-05-03 10:25:12 1984

原创 c语言实现贪吃蛇小游戏

讲到这基本上就能够基本上实现出贪吃蛇小游戏了,对于API等Windows自带的函数,我们进行了解会使用就可,希望这些能对你有所帮助,记得三连哦!

2024-04-29 18:51:03 520

转载 c语言的编译和链接

1.翻译环境和运行环境:在ANSI C的任何⼀种实现中,存在两个不同的环境。第1种是翻译环境,在这个环境中源代码被转换为可执⾏的机器指令(⼆进制指令)。第2种是执⾏环境,它⽤于实际执⾏代码。2.翻译环境:那翻译环境是怎么将源代码转换为可执⾏的机器指令的呢?这⾥我们就得展开开讲解⼀下翻译环境所 做的事情。其实翻译环境是由编译和链接两个⼤的过程组成的,⽽编译⼜可以分解成:预处理(有些书也叫预编译)、编译、汇编三个过程。

2024-03-30 16:47:58 902

原创 文件操作详解

ANSIC 标准采⽤“缓冲⽂件系统” 处理的数据⽂件的,所谓缓冲⽂件系统是指系统⾃动地在内存中为 程序中每⼀个正在使⽤的⽂件开辟⼀块“⽂件缓冲区”。根据数据的组织形式,数据⽂件被称为⽂本⽂件或者⼆进制⽂件。如果没有⽂件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失 了,等再次运⾏程序,是看不到上次程序的数据的,如果要将数据进⾏持久化的保存,我们就要使⽤⽂件。数据文件:⽂件的内容不⼀定是程序,⽽是程序运⾏时读写的数据,⽐如程序运⾏需要从中读取数据的⽂件,或者输出内容的⽂件。

2024-03-30 10:56:04 697

原创 结构体和联合体详解

结构体详解:一、结构体的定义:我们定义结构体,需要用到关键字struct,就和int类型、double类型一样,也需要用到int和double这两个关键字,用struct定义的变量称为结构体变量。上面的代码就是简单定义了一个结构体 ,在结构体A的{}中的a和c我们称作结构体成员,也是变量,可以具有不同的类型,在外面的s我们称作为结构体变量,为struct所定义的。二、结构体变量的初始化:如何进行初始化要看结构体的成员变量。

2024-03-22 19:51:02 2048 1

原创 整数和浮点数在内存中的存储方式

在计算机内存中,整数通常采用补码的形式进行存储,而表示整数的方式有三种,分别是原码、补码和反码,在计算机中,我们知道数据是以二进制的方式存储在计算机中的,而原码、反码和补码也是以二进制的方式来表示的,下面我们来介绍一下原码、反码和补码。b.E全为0时:这时候浮点数的指数E等于1-127(或者1-1023)即为真实值, 有效数字M不再加上第一位的1,而是还原为0.xxxxxx的小数。(这里要注意,二进制数的第一位为符号位,其余位为数值位,符号位0表示为正,1表示为负)

2024-03-18 17:20:57 461 1

原创 模拟实现函数memcpy、memmove和机器的大小端存储方式

注意:void*类型不能进行解引用,所以我们要进行强制类型转换,这里我们将类型强制转换成char*类型,这是因为char*类型只占一个字节,如果我们要拷贝奇数个字节的话,使用int*等其它类型的话就不方便 ,它们都占偶数个字节,所以强制转换成char*类型会方便我们编写代码。上面我们讲过,如果是小端存储,那么p中存放的值为44,如果是大端存储,那么p中存放的值为11,通过对p所存放的地址来判断,可以判断出机器是大端存储还是小端存储。中的高地址中,数据的高位保存在内存中的低地址中。三、机器的大小端存储。

2024-03-16 10:47:32 1364 1

原创 c语言指针详解

指针数组和数组指针比较难以辨别,指针数组是int *p[3],数组在后面,名词是数组,所以指针数组本质上是数组,数组指针是int (*p)[3],指针在后面,指针是名词,所以数组指针本质上是数组,数组指针的写法相较于指针数组的写法来说多了个括号,括号将指针括了起来,也表示他的本质是指针。其实,所有的指针所占字节数都取决于机器的位数,如果是32位的机器,那么就占4个字节,如果是64位的机器,就占8个字节,与int*,double*等等类型无关。编译器此时报错,因为p已经访问到第十一个元素了,属于越界访问。

2024-03-09 09:30:22 520 1

原创 C语言扫雷游戏

在这里面有许多其他的函数,下面会给大家一一解释,先给大家解释二维数组mine和show,mine数组是用来存放雷的数组,show数组是展示给玩家看的数组,我们要做的扫雷游戏的棋盘是9×9的棋盘,但我们定义的二维数组是11×11的,这是因为后面我们要排查雷的个数,要对周围雷的个数进行排查,这种情况下可能会造成数组下标越界的情况。,先输入一个排查的坐标,判断坐标是否合法,然后显示周围雷的个数,当踩到雷时,游戏结束,将所有不是雷的坐标找出,游戏也胜利。可见坐标6 7不是雷,将坐标6 7排查后,游戏成功。

2023-12-24 11:02:33 857 1

原创 C语言分支循环语句

这是do while语句的基本形式,do while语句与其他两种循环语句的不同点在于,do while语句是先执行一次语句1,再去判断表达式1的真假,如果表达式1为真,就继续循环,表达式1为假,就结束循环,但语句1会执行一次。continue和break语句是截然相反的语句,continue语句是继续循环的意思,而break语句是跳出循环的语句,当我们完成了任务想要跳出循环时,就得用到break语句。这是while语句的基本形式,while语句是通过判断表达式1的真假来判断循环是否结束的。

2023-11-30 19:45:15 33

原创 自我介绍及未来规划

我学习编程主要就是为了能够找到一份还算可以的工作,现在计算机的大环境越来越卷,想找到一份工作并不容易,只有更加努力的学习编程才能在未来毕业时找到一份工作。我是一名二本院校学生,在编程方面是个小白,因为觉得计算机相关专业未来毕业时好就业,选择了计算机科学与技术这个专业,但经过学习后发现编程其实并不容易。我并没有什么很想进的公司,对于我来说,进那些大厂并不科学,所以我的目标主要放在中小厂,只要是薪资待遇合理的公司,我就有可能进。2.在课后也要也要多写代码,不自己去写代码就永远不知道如何去写代码。

2023-11-20 15:47:48 43 1

空空如也

空空如也

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

TA关注的人

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