
数据结构
Geekingdom
我有一壶酒,足以慰浮生
展开
-
C语言实现基数排序——基于链队列实现
C语言实现基数排序文章目录C语言实现基数排序基数排序算法1.定义链结构2.定义链队列结构3.初始化带头结点的链队列4.判断带头结点的链队列是否为空5.带头结点的链队列入队操作6.带头结点的链队列出队操作7.取a的个位、十位、百位.....的值8.检索表中最大的值是几位数9.基数排序算法的实现项目完整代码运行效果图基数排序算法1.定义链结构//定义链结构typedef struct LinkNode { int data; struct LinkNode *next;} LinkN原创 2020-09-14 21:40:49 · 2679 阅读 · 0 评论 -
C语言实现归并排序——2路归并排序
C语言实现归并排序文章目录C语言实现归并排序2路归并排序算法1.定义动态数组2.初始化动态数组3.归并操作4.归并排序算法实现项目完整代码运行效果图2路归并排序算法1.定义动态数组//定义一个动态数组typedef struct { int *data;} DSqList;2.初始化动态数组//动态数组初始化void InitDSqList(DSqList &L, int len) { //根据数组A的长度动态分配辅助数组B的空间 L.data = (in原创 2020-09-14 20:04:12 · 3684 阅读 · 2 评论 -
C语言实现选择排序——堆排序(大根堆、小根堆)
C语言实现堆排序文章目录C语言实现堆排序大根堆排序算法1.交换操作2.对结点进行调整为大根堆3.建立大根堆4.大根堆排序算法实现小根堆排序算法1.交换操作2.对结点进行调整为小根堆3.建立小根堆4.大根堆排序算法实现项目完整代码运行效果图大根堆排序算法1.交换操作//交换实现void swap(int &a, int &b) { int temp = a; a = b; b = temp;}2.对结点进行调整为大根堆//将以k为根结点的子树调整为大根原创 2020-09-14 18:56:15 · 4173 阅读 · 0 评论 -
C语言实现选择排序——简单选择排序算法
C语言实现简单选择排序文章目录C语言实现简单选择排序简单选择排序算法1.交换操作2.简单选择排序算法实现项目完整代码运行效果图简单选择排序算法1.交换操作//交换实现void swap(int &a, int &b) { int temp = a; a = b; b = temp;}2.简单选择排序算法实现//简单选择排序算法void SelectSort(int arr[], int len) { for (int i = 0; i &l原创 2020-09-14 16:26:06 · 1924 阅读 · 0 评论 -
C语言实现交换排序——快速排序
C语言实现快速排序文章目录C语言实现快速排序快速排序算法1.划分操作2.快速排序算法实现项目完整代码运行效果图快速排序算法1.划分操作//划分操作int Partition(int arr[], int low, int high) { //一趟划分 int point = arr[low]; //将当前表中的第一个元素设为基准点,对表进行划分 while (low < high) { while (low < high &&原创 2020-09-13 23:07:41 · 1232 阅读 · 0 评论 -
C语言实现交换排序——冒泡排序
C语言实现冒泡排序文章目录C语言实现冒泡排序冒泡排序算法项目完整代码运行效果图冒泡排序算法//冒泡排序算法void BubbleSort(int arr[], int len) { for (int i = 0; i < len - 1; ++i) { bool flag = false; //表示本趟冒泡排序是否发生了交换的标志 for (int j = len - 1; j > i; --j)原创 2020-09-13 21:06:45 · 1128 阅读 · 0 评论 -
C语言实现插入排序——希尔排序算法
C语言实现希尔排序文章目录C语言实现希尔排序希尔排序算法项目完整代码运行效果图希尔排序算法//希尔排序算法void ShellSort(int arr[], int len) { int d, i, j; //arr[0]只是暂存单元,不是哨兵,当j<=0时,表示到达插入位置 for (d = len / 2; d >= 1; d /= 2) { //步长变化,每次取一半 for (i = d + 1; i <= len; +原创 2020-09-13 20:36:13 · 1676 阅读 · 1 评论 -
C语言实现插入排序——折半插入排序(根据输入实时排序、不带哨兵排序、带哨兵排序)
C语言实现折半插入排序文章目录C语言实现折半插入排序一、动态数组实现即输即排1.定义动态数组2.初始化动态数组3.增加动态数组长度4.排序算法5.实时输入数值并排序二、不带哨兵的数组折半插入排序三、带哨兵的数组折半插入排序项目完整代码运行效果图一、动态数组实现即输即排1.定义动态数组#define InitSize 25//定义动态顺序表typedef struct { int *data; int MaxSize; int length;} DSqList;2.原创 2020-09-13 19:50:53 · 1051 阅读 · 0 评论 -
C语言实现插入排序——直接插入排序(根据输入实时排序、不带哨兵排序、带哨兵排序)
直接插入排序文章目录直接插入排序一、动态数组实现即输即排1.定义动态数组2.初始化动态数组3.增加动态数组长度4.排序算法5.实时输入数值并排序二、不带哨兵的数组直接插入排序三、带哨兵的数组直接插入排序项目完整代码运行效果图一、动态数组实现即输即排1.定义动态数组#define InitSize 25//定义动态顺序表typedef struct { int *data; int MaxSize; int length;} DSqList;2.初始化动态数组//原创 2020-09-13 18:32:06 · 1072 阅读 · 0 评论 -
C语言实现动态顺序表(列表)操作及折半查找算法
动态顺序表及折半查找的实现文章目录动态顺序表及折半查找的实现动态顺序表一、动态顺序表定义二、动态顺序表初始化三、动态顺序表相关操作1.增加动态数组长度2.动态顺序表顺序插入元素3.动态顺序表删除4.动态顺序表按位查找5.动态顺序表按值查找折半查找实现算法一、基于升序顺序表的查找二、基于降序顺序表的查找项目完整代码运行效果图动态顺序表一、动态顺序表定义#define InitSize 15//动态分配顺序表定义typedef struct { int *data; int M原创 2020-09-11 21:30:08 · 2395 阅读 · 0 评论 -
C语言实现二叉树的中序线索化及遍历中序线索二叉树
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录线索二叉树的结构及数据类型定义根据输入结点初始化二叉树中序遍历二叉树并线索化遍历中序线索二叉树项目完整代码运行实现截图线索二叉树的结构及数据类型定义//定义数据类型typedef char ElemType;//枚举,Link为0表示不是线索,Thread为1表示为线索typedef enum { Link, Thread} PointerTag;//结点结构构造typedef struct Bi原创 2020-09-06 14:20:45 · 8619 阅读 · 3 评论 -
C语言实现二叉树的四种遍历和求深度与叶子结点个数
C语言实现二叉树的四种遍历和求深度与叶子结点个数使用链式存储实现二叉树使用顺序队列实现二叉树的层序遍历功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入使用链式存储实现二叉树定义存储数据类型和链式二叉树//定义数据类型ty原创 2020-09-04 22:10:20 · 9999 阅读 · 0 评论