- 博客(9)
- 收藏
- 关注
原创 基于C语言的堆排序
->Gitee源码点击这里<-有了向下调整算法和建堆算法的铺垫,我们就可以利用堆来堆数组排序了。我们之前学过冒泡排序,而堆排序相比冒泡排序效率更高。堆排序方思路:a. 若想要将数组排成升序,则需要先将数组建立成大堆(降序则反之,这里以升序为例)b. 下图是已经建好的一个堆想要将数据排成升序,需要重复如下步骤:①交换堆顶数据和最后一个数据②交换过后,"删除"最后一个数据,这里的删除并不是真的删除,而是暂时的不允许访问该空间的值堆使用数组表示的,访问数组元素需要通过下标,最大的
2022-04-12 20:00:10 813
原创 C语言实现的堆的向下调整算法和建堆算法
->Gitee源代码点击这里<-堆是特殊的二叉树,其性质为:①堆中的某个结点总是不大于或不小于其子结点②堆总是完全二叉树。(第1到第n-1层为满,最后一层从左往右结点连续)我们经常用顺序结构的数组来实现二叉树对于一个普通的数组int a[10] = {18,29,42,8,50,9,22,88,19,74};如果该数组表示的是二叉树,则其逻辑结构为而目前该二叉树还能称为堆,所以我们要借助一些算法来把一个表示二叉树的数组变成堆。一、向下调整算法当父节点的子树已经是大堆或者小堆,
2022-04-10 09:35:13 549
原创 基于C语言的队列实现
->Gitee源码点击这里<-队列也是线性表,队列在实现时用链表效率更高。队列的数据处理遵循先进先出原则,所以设计队列的接口时,需要设计头删接口和尾插接口,才能达到先进进出的效果。队列逻辑示意图单链表实现,自然要有结点,所以我们要先创建单链表结点的结构体typedef struct Node{ QDatatype data; struct Node* next;};光有结点还不足以表示队列,队列的核心在于队头和队尾,有了这两个元素才方便我们设计相应的数据处理接口,所以我们
2022-04-07 23:46:03 1424
原创 基于C语言的栈实现
->Gitee源码点击这里<-之前所实现的顺序表和链表都成为线性表,即他们的从逻辑上来看是连续的,线性的,按顺序的。栈是一种特殊的线性表,其实现要基于顺序表或者链表,相比之下用顺序表来实现更优;而和顺序表区别在于,栈不支持随机位置的数据插入和删除,入栈的数据遵循后进先出的原则。栈的逻辑结构示意图:接下来我们使用顺序表来实现一个栈。首先定义一个结构体,该结构体包含了栈的相关信息:typedef int STDatatype;typedef struct Stack{ STDa
2022-04-06 10:07:01 444
原创 基于C语言的双向循环带头链表实现
->Gitee源代码点击这里<-结构说明:①一个结点中有三部分a.prev指针:存放前一个结点的指针b.data:存放有效值c.next指针:存放下一个结点的指针②链表有一个头结点,其中不存放有效值,但存放了头结点的指针和尾结点的指针③之所以成为循环,是因为尾结点的下一个结点不再为NULL,而是指向头结点④当链表尾空时,头结点的prev部分和next部分都存放头结点自己的地址根据结构描述创建结点的结构体typedef int DLDataType;typedef str
2022-04-05 09:46:18 788
原创 基于C语言的单链表实现
->Gitee源代码点击这里<-单链表是由不连续的空间组合而成的。每个空间称为单链表的一个结点。一个结点中除了存放数据之外,还要存放下一个结点的地址,如果没有下一个结点,则存放空指针。表示其后面没有结点了从逻辑上来看,就好像A和B链接了起来。我们通过结构体来定义链表的结点信息typedef int LDataType;typedef struct LinkedList{ LDataType data; //数据值 struct LinkedList* next;
2022-04-04 15:17:23 1259
原创 基于C语言的顺序表实现
->Gitee源代码点击这里<-顺序表的本质是一个动态开辟的数组实现数据表,首先需要创建一个结构体,该结构体的成员记录了该数组的信息以整形顺序表为例,为了方便以后代码的修改和维护,我们将int重命名typedef int SLDatatype;typedef struct SeqList{ SLDatatype* a; //指向数组的指针 int size; //数组有效数据的长度 int capacity; //数组的最大容量}SeqList;我们创建一个结构体
2022-04-03 14:36:10 1272
原创 C语言学习——对于VS2019的两个优化设置
今后C和C++的学习,我们都是在vs2019中进行编码。那在正式学习之前,首先,我们先来对vs2019进行一些小设置来优化我们的使用体验
2021-06-05 23:04:24 4360 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人