自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【数据结构】-内部排序(归并排序)

内部排序-归并排序写在前面1.头文件及类型定义2.函数声明3.基本操作3.1 归并3.2 主过程3.3 输出4.main函数5.小结写在前面【说明】以下代码实现最终为递增序列,即从小到大排序。1.头文件及类型定义#include<stdio.h>#include<stdlib.h>#define ElemType int //定义数组元素类型#define LEN 7 //定义数组长度2.函数声明/*函数声明*/void Merge(ElemType A[]

2020-08-17 18:51:20 756 1

原创 【数据结构】-内部排序(选择排序)

内部排序-选择排序写在前面1.头文件及类型定义2.函数声明3.基本操作3.1 简单选择排序3.1.1 交换3.1.2 简单选择主过程3.1.3 输出测试3.2 堆排序3.2.1 堆调整3.2.2 建立大根堆3.2.3 堆排主过程3.2.4 输出测试4.main函数5.小结写在前面【说明】以下代码实现最终均为递增序列,即从小到大排序。1.头文件及类型定义#include<stdio.h>#define ElemType int2.函数声明/*函数声明*/void swap(int

2020-08-16 18:29:48 692

原创 【数据结构】-内部排序(交换排序)

内部排序-交换排序写在前面1.头文件及类型定义2.函数声明3.基本操作3.1 冒泡排序3.1.1 交换3.1.2 冒泡主过程3.2 快速排序3.2.1 划分3.2.2 快排主过程4.main函数5.小结写在前面【说明】以下代码实现最终均为递增序列,即从小到大排序。1.头文件及类型定义#include<stdio.h>#define ElemType int2.函数声明/*函数声明*/void swap(int& a, int& b); //1-1.交

2020-08-15 18:13:07 787

原创 【数据结构】-内部排序(插入排序)

内部排序-插入排序写在前面1.头文件及类型定义2.函数声明3.基本操作3.1 直接插入排序3.2 折半插入排序3.3 希尔排序4.main函数5.小结写在前面【说明】以下代码实现最终均为递增序列,即从小到大排序。1.头文件及类型定义#include<stdio.h>#define ElemType int2.函数声明/*函数声明*/void DirectInsertSort(ElemType A[], int n); //1.直接插入排序void HalfInsertSor

2020-08-14 17:40:22 584

原创 【数据结构】-折半查找

折半查找1.头文件及类型定义2.顺序表类型定义3.函数声明4.基本操作4.1 初始化顺序表4.2 赋值4.3 折半查找★★★4.4 main函数5.小结1.头文件及类型定义#include<stdio.h>#define ElemType int#define MaxSize 102.顺序表类型定义//顺序表的类型定义(静态分配)typedef struct { ElemType elem[MaxSize]; //用静态数组存放数据元素 int length; //

2020-08-13 19:23:15 793

原创 【数据结构】-顺序查找

顺序查找1.头文件及类型定义2.顺序表类型定义3.函数声明4.基本操作4.1 初始化顺序表4.2 赋值4.3 顺序查找★★★4.4 main函数5.小结1.头文件及类型定义#include<stdio.h>#include<stdlib.h>#define InitSize 10 //初始化数组长度#define ElemType int 2.顺序表类型定义//顺序查找表类型定义-顺序表(动态分配)typedef struct { ElemType* elem;

2020-08-13 19:22:35 438

原创 【数据结构】-二叉树的应用(二叉排序树)

二叉排序树BST1.头文件及类型定义2.二叉排序树结点类型定义3.函数声明4.基本操作4.1 查找操作4.1.1 非递归查找4.1.2 递归查找4.2 插入操作4.2.1 非递归插入4.2.2 递归插入4.3 构造二叉排序树4.4 删除操作4.4.1 寻找最左下结点4.4.2 寻找最右下结点4.4.3 删除操作-用右子树中最左下结点填充4.4.4 删除操作-用左子树中最右下结点填充4.5 中序遍历4.6 main函数4.7 测试结果5.小结1.头文件及类型定义#include<stdio.h&gt

2020-08-12 17:38:38 3172

原创 【数据结构】-线索二叉树(后序)

后序线索化二叉树1.头文件及类型定义2.线索二叉树结点类型定义3.函数声明4.基本操作4.1 先序建立线索二叉树4.2 初始化tag4.3 后序线索化二叉树4.3.1 访问并建立线索4.3.2 遍历4.3.3 后序线索化主过程4.4 寻找后序前驱4.5 逆向后序遍历4.5.1 打印结点4.5.2 利用后序前驱实现逆向后序遍历4.6 main函数4.7 测试4.7.1 二叉树结构4.7.2 测试结果5.小结1.头文件及类型定义#include<stdio.h>#include<stdl

2020-08-11 21:12:13 4384

原创 【数据结构】-线索二叉树(先序)

先序线索化二叉树1.头文件及类型定义2.线索二叉树结点类型定义3.函数声明4.基本操作4.1 先序建立线索二叉树4.2 初始化tag4.3 先序线索化二叉树4.3.1 访问并建立线索4.3.2 遍历4.3.3 先序线索化主过程4.4 寻找先序后继4.5 先序遍历4.5.1 打印结点4.5.2 利用先序后继实现先序遍历4.6 main函数4.7 测试4.7.1 二叉树结构4.7.2 测试结果5.小结1.头文件及类型定义#include<stdio.h>#include<stdlib.h

2020-08-10 18:19:48 7589

原创 【数据结构】-线索二叉树(中序)

中序线索化二叉树1.头文件及类型定义2.线索二叉树结点类型定义3.函数声明4.基本操作4.1 先序建立线索二叉树4.2 初始化tag4.3 中序线索化二叉树4.3.1 访问并建立线索4.3.2 遍历4.3.3 中序线索化主过程4.4 寻找中序后继4.4.1 找到最左下结点4.4.2 找到p的后继结点4.4 寻找中序前驱4.4.1 找到最右下结点4.4.2 找到p的前驱4.5 中序遍历和逆向中序遍历4.5.1 打印结点4.5.2 利用中序后继实现中序遍历4.5.2 利用中序前驱实现逆向中序遍历4.6 main

2020-08-09 17:47:22 1607 1

原创 【数据结构】-二叉树的层次遍历(队列的应用)

二叉树的层次遍历★算法思想★1.头文件及元素类型定义2.相关类型定义3.函数声明4.基本操作4.1 初始化队列4.2 判空4.3 入队操作4.4 出队操作4.5 先序建立二叉树4.6 打印结点4.7 二叉树的层次遍历4.8 main函数4.9 测试4.9.1 二叉树结构4.9.2 测试结果5.小结★算法思想★初始化一个辅助队列根结点入队若队列非空,则队头结点出队,访问该结点,并将其左、右孩子插入队尾(如果有的话)重复3中的操作直至队列为空PS:从上述算法思想中可以看出需要用到的队列相关操作

2020-08-08 18:11:31 8026 3

原创 【数据结构】-二叉树的先序、中序、后序遍历-非递归实现

二叉树的遍历-先序、中序、后序1.头文件及类型定义2.二叉链表结点类型定义3.函数声明4.基本操作4.1 先序建立二叉树4.2 打印结点4.3 先序遍历4.4 中序遍历4.5 后序遍历4.6 main函数4.7 测试4.7.1 二叉树结构4.7.2 测试结果5.小结1.头文件及类型定义#include<stdio.h>#include<stdlib.h>#define ElemType char2.二叉链表结点类型定义//二叉链表结点类型定义typedef struc

2020-08-07 17:22:26 1455 1

原创 【数据结构】-二叉树的先序、中序、后序遍历-递归实现

二叉树的先序、中序、后序遍历-递归实现1.头文件及类型定义2.二叉链表结点类型定义3.函数声明4.基本操作4.1 先序建立二叉树4.2 打印结点4.3 先序遍历4.4 中序遍历4.5 后序遍历4.6 main函数4.7 测试4.7.1 二叉树结构4.7.2 测试结果5.小结1.头文件及类型定义#include<stdio.h>#include<stdlib.h>#define ElemType char2.二叉链表结点类型定义//二叉树结点类型定义typedef st

2020-08-06 18:27:54 1314

原创 【数据结构】-二叉树(链式存储)

二叉链表1.头文件及类型定义2.二叉链表结点类型定义3.函数声明4.基本操作4.1 先序建立二叉树4.2 求树的深度4.3 寻找中序前驱4.3.1 辅助全局变量4.3.2 访问结点4.3.3 遍历4.4 main函数4.5 测试4.5.1 二叉树结构4.5.2 测试结果5.小结1.头文件及类型定义#include<stdio.h>#include<stdlib.h>#define ElemType char2.二叉链表结点类型定义//二叉链表结点类型定义typedef

2020-08-05 18:06:41 3351

原创 【数据结构】-串的模式匹配

串的模式匹配写在前面1.头文件及类型定义2.串类型定义3.函数声明4.基本操作4.1 初始化串4.2 赋值操作4.3 朴素(简单)模式匹配算法1★★4.4 朴素(简单)模式匹配算法2★★4.5 求next数组★★★4.6 KMP算法★★★4.7 next数组优化★★★4.8 main函数5.小结写在前面关于串的模式匹配,本文以定长顺序存储表示来进行实现。这部分内容通过画图加以理解可以达到更好的效果,以下仅给出代码实现。1.头文件及类型定义#include<stdio.h>#incl

2020-08-04 16:32:12 987

原创 【数据结构】-串的顺序存储(动态分配)

串的堆分配存储-动态分配1.头文件及类型定义2.串类型定义3.函数声明4.基本操作4.1 初始化串4.2 增加串的长度4.3 求串长4.4 清空4.5 判空4.6 赋值操作★4.7 复制操作★4.8 联接操作★4.9 求子串操作★★4.10 比较操作★★4.11 定位操作★★★4.12 销毁操作4.13 遍历4.14 main函数5.小结1.头文件及类型定义#include<stdio.h>#include<stdlib.h>#define MAXLEN 10 //预定义

2020-08-03 18:36:21 2087

原创 【数据结构】-串的顺序存储(静态分配)

串的定长顺序存储-静态分配1.头文件及类型定义2.串类型定义3.函数声明4.基本操作4.1 初始化串4.2 求串长4.3 清空4.4 判空4.5 赋值操作★4.6 复制操作★4.7 联接操作★4.8 求子串操作★★4.9 比较操作★★4.10 定位操作★★★4.11 遍历4.9 main函数5.小结1.头文件及类型定义#include<stdio.h>#include<stdlib.h>#define MAXLEN 10 //预定义最大串长为2552.串类型定义ty

2020-08-02 19:25:39 3275 2

原创 【数据结构】-链队列(带头结点)

链队列-带头结点1.头文件及类型定义2.链队列类型定义3.函数声明4.基本操作4.1 初始化队列4.2 判空4.3 入队4.4 出队4.5 获取队头元素4.6 main函数5.小结1.头文件及类型定义#include<stdio.h>#include<stdlib.h>#define ElemType intusing namespace std;2.链队列类型定义typedef struct LinkNode { //链式队列的结点类型定义 ElemType d

2020-08-01 17:44:40 3815

空空如也

空空如也

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

TA关注的人

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