自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 选择排序(直接选择排序与堆排序)----数据结构-排序②

堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种,但相较于直接选择排序来说提升了许多 。它是通过堆(完全二叉树)来进行选择数据。需要注意的是排升序要建大堆,排降序建小堆。(如果还未学习堆的同学,可以移步到我的上一篇文章,里面有堆的详细介绍)

2024-06-04 09:40:44 365

原创 插入排序(直接插入排序与希尔排序)----数据结构-排序①

当我们手里已经具有 2、3、5、10 这样一个有序序列的扑克牌时,我们现在又出现一张 7 ,我们需要将其插入到我们已经有序的 2、3、5、10 序列中,我们先将需要插入的 7 与最后一张 10 进行大小比较,如果发现所插入的元素比 10 更小,就继续与前一个元素比较,直到发现所插入的元素大于该元素,就将其插入到该元素的后面即可。当gap == 1时,数组已经接近有序的了,这样就会很快。3. 希尔排序的时间复杂度不好计算,因为gap的取值方法很多,导致很难去计算,因此在好些树中给出的希尔排序的。

2024-06-03 22:44:46 506 3

原创 二叉树的链式结构(二叉树)与顺序结构(堆)---数据结构

下面是树的示意图:注意:在树形结构中,子树之间不能有交集,否则就不是树形结构!!!例如下面的这几棵树就不是树形结构:1->结点的度:一个结点所含的子树的个数称为该结点的度; 如上图:A的有6颗子树,故A的度为6。2->叶结点或终端结点:度为0的结点称为叶结点; 如上图:B、C、H、I、P、Q、....等结点都为叶结点。3->非终端结点或分支结点:度不为0的结点; 如上图:A、D、E、F、G...等结点为分支结点。4->双亲结点或父结点:若一个结点含有子结点,则这个结点称为其子结点的父结点; 如上图:A是B的

2024-05-28 15:39:09 686

原创 栈和队列的实现与应用-----数据结构

栈(Stack)是只允许。

2024-05-14 10:00:44 991 2

原创 链表的带环问题---数据结构

这里我以 fast 一次走3步,slow 一次走1步为例,来给大家讲解,其他的情况也可以类似分析。上述的链表没有尾部,相对于我们常见的链表而言,他的尾节点的 next 指针指向链表中的任意一个节点,也就在链表中形成了环形结构,下面我们来看一下如何判断链表是否存在带环结构。以上也就解决了我们的链表带环问题,如果还想进一步练习,可以刷一下下面的题目。时的这种情况是不存在的,下面我们来进一步分析 N 与 C 之间的关系。)指针同时指向链表的头结点,快指针每次走两步(但事实并非与我们上述的分析一样,当。

2024-05-07 20:26:35 539 1

原创 C语言------程序的编译和链接

在我们日常用C语言所编写的程序中,电脑能够直接执行吗?答案是不能的,我们的电脑并不能直接看懂我们用编程语言所编写的源程序(test.c / test.h),它们能看懂的只能是机器指令,也就是二进制指令,所以在电脑执行我们编写的程序之前,程序还需要经过一系列的处理,最终转换为电脑能够执行的机器指令。那么从源程序到机器指令究竟经过了那些过程呢,接下来我们来一一学习。

2024-04-02 22:28:32 1812 1

原创 文件的操作-----C语言

所谓“文件”,就是在我们的计算机中,以实现某种功能、或某个软件的部分功能为目的而定义的一个单位。文件:计算机中的文件可以是文档程序快捷方式或设备。在程序设计当中我们将文件分文两类,一类是 程序文件,一类是 数据文件.

2024-03-31 11:11:42 1871 1

原创 C语言中的自定义类型-----联合体与枚举

联合体跟结构体的定义形式以及访问成员的方式十分相似,但在各自在内存上却大不相同。联合体也叫共用体,共用体顾名思义也就是公用一块内存区域,一般来说联合体的大小是最大成员的大小,但也会存在内存对齐,联合体的大小必须是成员当中最大对齐数的整数倍,接下来我们来看一下如果和定义一个联合体。enum + 枚举名枚举常量1,枚举常量2,........我们可以用枚举列出一个星期的每一天:enum weekMon,Tues,Wed,Thurs,Fri,Sat,Sun。

2024-03-24 17:36:25 891 1

原创 结构体的介绍-----C语言

结构体是C语言中的一种构造类型,它是一系列具有相同类型或者不同类型的数据所构成的数据集合。在生活中,每一个物品它都会有多种属性,例如某一本书,他会有作者、书名、定价,若想将这些属性都存储在一起,结构体就可以完成同时存入多个不同类型的变量。结构体的定义形式是:struct+结构体名称成员1;成员2;·······;接下来我们来定义一个结构体,里面包含学生的各种信息(姓名、学号、成绩)。

2024-03-22 21:53:27 1905 1

原创 浮点数在内存中的存储方式-----C语言

此时将内存中存储的E加上127(float) 或 1023(double),再将内存中的M取出并在前面添上1,因为我们在存储的时候只存了M的小数部分,例如:1 10000001 11000000000000000000000,我们可以知道这里的 S = 1 ,E = 129-127 ,M = 1.11,根据公式。对于64位的浮点数(double),最高的1位存储符号位S,接着的11位存储指数E,剩下的52位存储有效数字M,下面就是内存中的存储方式。)是一个特别大的数,所以这个数表示的就是±∞。

2024-03-19 20:01:07 652 1

原创 什么是大小端字节序以及如何使用代码来判断当前机器是大端还是小端---C语言

在电脑上存储的字节顺序,大端字节序是把数据的高位字节内容存放到低地址,低位字节内容存放在高地址处,而小端字节序是把数据的低位字节内容存放到低地址,高位字节内容存放在高地址处。总结:总的来说,小端字节序就是先存入数据的低位字节;而 大端字节序就是先存入数据的高位字节。1、定义:大小端字节序指的是。

2024-03-16 10:49:31 374 1

原创 C语言中常用的字符串函数的使用以及模拟实现

1、定义:在字符串1中找字符串2,倘若存在,则返回字符串2在字符串1中首次出现的位置;说明:函数会将source里面的内容追加到destination的末尾,并且返回destination的首元素地址。1、定义:用于比较两个字符串的大小,先来看一下库里面的函数是如何定义的,以及如何比较两个字符串的大小。3、 若str1>str2,返回一个大于0的数字;4、 NUll字符这里指的就是'\0';2、 若str1=str2,返回0;说明:1、 若str1

2024-03-15 21:32:34 364

原创 C语言指针的逐步理解

野指针即指针指向的空间是不可知的(随机的、不正确的、没有明确限制的),如果不注意,就会很大可能触发运行时的错误。

2024-03-13 23:21:39 797

原创 扫雷小游戏的简洁版本--C语言小白(实现过程及讲解)

也就是当玩家找出所有雷的坐标时,游戏也就结束了,那么我们这里就用change来表示玩家赢下游戏之前所需要走的步数,这里我们可以知道,我们所布置的雷的个数是10个,而棋盘的大小是81,因此我们需要走71步才能找到所有雷的位置,因此我们change的大小也就是71,只有当change减到0时,游戏才算获胜,那么我们的代码应该如何来实现呢?这里我统计的时候其实遍历的是9宫格,因为中间的那个坐标一定不会是雷,所以统计的个数不会有影响,有了这个函数,我们就可以来实现整个游戏的逻辑啦!以上就是基本游戏逻辑的实现啦!

2023-12-12 15:20:23 841

原创 C语言中关于for、while、do while的介绍

这是因为当 i++ 变为6之后,if判断为真, 执行continue,continue执行后,跳过代码块中continue之后的内容(这里也就是不再打印 i ),然后再进行判断,再进行 i++ ,这样i就变为了7,也就不会再执行continue,就不会导致死循环。当 i==6 时,if中判断为真,执行continue,continue执行后,跳过代码块中continue之后的内容(这里也就是不再打印 i ),然后直接进入调整(i++),判断。1. 先进行判断(如i

2023-11-30 21:11:23 387

空空如也

空空如也

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

TA关注的人

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