C语言
文章平均质量分 69
CHAO 10-12
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
快速排序(hoare版本)
我们之前学习的多种排序,它们都有着不同的效率,可以适用与不同的场景,接下来要说的一种排序它叫做快速排序,从它的名字就可以看出来它的效率一定很高。一、快速排序的实现快速排序的实现就如图一样,先右边的开始走如果碰到比key值小的数值就在那个位置停下,然后左边开始执行,如果碰到比key值大的也同样停止,然后对两者进行交换。最后左和右相遇后将key和相遇的地方进行交换从而使得左边是比key小的值,右边是比key大的值,使用递归实现排序。原创 2024-10-25 23:16:28 · 561 阅读 · 0 评论 -
插入排序和希尔排序
我们应该学习过冒泡排序,排序的方式是有很多的,所以我们可以学习更多更为有效的排序。我们有着很多的排序方式,我们可以通过相应的环境来判断使用使用哪种排序,使用希尔排序时要记得注意起始位置时0还是gap,从而来判断end的值为什么,为了之后的多种情况,所以我们要熟悉多种排序方法。原创 2024-09-20 20:47:18 · 625 阅读 · 0 评论 -
堆的创建和说明
我们已经知道了二叉树的样子,但是一般的二叉树是没有什么意义的,所以我们会使用一些特殊的二叉树来进行实现,而堆就为特殊的二叉树来表示的。一、堆是什么?堆是一种特殊的二叉树,由完全二叉树来表示,分为小堆和大堆的表现形式,小堆的表现形式为父节点比孩子节点要小,下面的根节点同样满足这个条件,大堆与之相反,父节点要比孩子节点大,根节点同样满足条件原创 2024-08-01 22:57:54 · 661 阅读 · 0 评论 -
二叉树的基本知识
数据结构中的数就像它的名字一样,通过一个头节点进而分散出许多的叶子节点,而我们一般经常用到的是特殊的数,就是我们今天说到的二叉树,一个节点最多有两个叶子节点。一、树是什么像这张图一样,一个节点下有许多的子节点的就为树,但是这样的树意义不大,所以我们经常使用的是它的特殊形式二叉树,,那便是一个节点最多有两个叶子节点。原创 2024-07-29 01:25:22 · 480 阅读 · 0 评论 -
队列的实现
队列是在一端进行输入操作,一段删除操作的线性结构,有着先进入的就先删除的特性,也就为先进先出(FIFO)。原创 2024-07-19 22:39:45 · 387 阅读 · 0 评论 -
栈的模拟实现
栈的存储方式为后进先出LIFO(Last In Firet Out),我们可以将其理解为手枪的弹夹,放入子弹的过程叫压栈,出去的过程叫出栈。我们可以和我们之前创建出顺序表和链表的特性得出压栈和出栈适合的为尾插尾删,所以我们使用数组的方式来。原创 2024-07-16 22:32:24 · 339 阅读 · 0 评论 -
实现带头双向循环链表
就如同字面意思一样,我们会有一个不存放数据的哨兵位用来初始化,并且链表内的指针是互相指向对方,也就是说链表最后不会指向NULL,而会再次循环指向起点也就是哨兵位,哨兵位还有好处,因为我们通过哨兵位增加数据时不用直接修改自己的地址,所以不需要用到二级指针。原创 2024-07-15 21:48:40 · 953 阅读 · 0 评论 -
单链表的实现
链表是在逻辑上连续的数据结构,具体如图所示,在使用链表时是使用指针用来指向其下一个地址的位置,而地址并不是连续的,只是我们在逻辑想着为连续的,因此并不用向顺序表一样开辟多个空间,减少了相应的空间浪费。原创 2024-07-14 20:49:23 · 631 阅读 · 0 评论 -
顺序表实现
顺序表是用来连续存放数据单元的一种结构,逻辑连续的两个元素在实际上也为连续的。原创 2024-07-12 19:53:26 · 2098 阅读 · 0 评论 -
结构体解析
结构体是一种数据类型,用来存放多种类型的数据。原创 2024-07-11 21:27:30 · 390 阅读 · 0 评论 -
模拟实现内存函数
当我们想要拷贝除字符串的其他类型,在这时候strcpy就用不了,我们就可以考虑使用memcpy,并且需要传递具体大小。原创 2024-07-10 21:57:07 · 220 阅读 · 0 评论 -
模拟实现字符串函数
模拟实现字符串函数原创 2024-07-09 21:34:17 · 225 阅读 · 0 评论 -
内存操作函数
内存函数和之前学习的字符串函数还是有许多的相似处,最大的区别在于一个只能对字符串进行操作,而另一个可以对所有类型进行操作。原创 2024-07-08 23:22:04 · 357 阅读 · 0 评论 -
通讯录(动态)
我们需要对上一次的初始化代码进行修改,使其动态开辟内存。使用malloc函数开辟空间,头文件为#include,具体开辟的个数由自己绝对,判断是否开辟成功后,记得指针指回原地址,并且改变其容量大小。原创 2024-07-07 22:10:51 · 382 阅读 · 0 评论 -
通讯录(静态)
如果要用C语言实现通讯录的话,我们需要知道要实现什么功能。对于通讯录来说,除了初始化,就为最基本的增删查改,我就开始一一讲解。原创 2024-07-06 23:39:16 · 1697 阅读 · 0 评论 -
字符函数和字符串函数(上)
在C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的。原创 2024-07-03 22:36:42 · 281 阅读 · 0 评论 -
回调函数讲解
回调函数就是允许用户把需要调用的函数的指针作为参数传递给一个函数,以便该函数在处理相似事件的时候可以灵活的使用不同的方法。原创 2024-07-03 15:07:36 · 481 阅读 · 0 评论 -
浮点数的存储规则
EEE 754也有一些特别的规定,就是M可以写为1.xxxxxxx的形式,所在计算机内部保存M时,默认这个数的第一位总是1,因此可以被舍去,只保存后面的xxxxxx部分。例如保存1.001时只保存001等到读取的时候,再把第一位的1加上去。这样做的目的,是节省1位有效数字。原创 2024-07-02 20:38:47 · 2169 阅读 · 0 评论 -
函数指针与函数指针数组
函数指针在本质上就是指针,是用来指向函数地址的指针。原创 2024-07-02 11:24:50 · 175 阅读 · 0 评论 -
C语言实现扫雷游戏
首先要创建三个分别为,主文件,游戏文件以及声明游戏文件的头文件。实现扫雷游戏主要实现以下函数。原创 2023-11-05 22:13:55 · 92 阅读 · 0 评论
分享