
大话数据结构(语言为C语言)(作者程杰写的)
这本书很有趣,书上所有源代码可以百度搜索关键词“伍迷-博客园”即可找到书上所有源代码,因为分类专栏简介不让写源代码网址,所以就只好发关键词了。
本专栏所有源代码全部在DEV-C++5.11和VS2019这两个IDE(集成开发环境)下编译通过,没有任何错误和任何警告。
AKK188888881
这个作者很懒,什么都没留下…
展开
-
排序大融合
#include<stdio.h> #include<stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAX_LENGTH_INSERT_SORT 7 /* 用于快速排序时判断是否选用插入排序阙值 */typedef int Status; #define MAXSIZE 10000 /* 用于要排序数组个数最大值,可根据需要修改 */typedef str转载 2020-10-08 11:50:09 · 172 阅读 · 0 评论 -
05散列表_HashTable
#include<stdio.h> #include<stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */#define SUCCESS 1#define UNSUCCESS 0#define HASHSIZE 12 /* 定义散列表长为数组的长度 */#define NULLKEY -32768 typed转载 2020-10-07 13:02:53 · 107 阅读 · 0 评论 -
04B树_BTree
#include<stdio.h> #include<stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */#define m 3 /* B树的阶,暂设为3 */ #define N 17 /* 数据元素个数 */ #define MAX 5 /* 字符串最大长度+1 */typedef int Stat转载 2020-10-07 13:02:14 · 182 阅读 · 0 评论 -
03平衡二叉树_AVLTree
#include<stdio.h> #include<stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */ /* 二叉树的二叉链表结点结构定义 */typedef struct BiTNode /* 结转载 2020-10-07 13:01:39 · 128 阅读 · 0 评论 -
02二叉排序树_BinarySortTree
#include<stdio.h> #include<stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */ /* 二叉树的二叉链表结点结构定义 */typedef struct BiTNode /* 结点转载 2020-10-07 13:00:19 · 147 阅读 · 0 评论 -
01静态查找_Search
#include<stdio.h> #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */ int F[100]; /* 斐波那契数列 *//* 无哨兵顺序查找,a为数组,n为要查找的数组个数,key为要查找的关键字 */int Seq转载 2020-10-07 12:59:48 · 128 阅读 · 0 评论 -
10关键路径_CriticalPath
#include<stdio.h> #include<stdlib.h> #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXEDGE 30#define MAXVEX 30#define INFINITY 65535typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */ int *etv,*ltv; /* 事件最早发转载 2020-10-07 12:58:04 · 157 阅读 · 0 评论 -
09拓扑排序_TopologicalSort
#include<stdio.h> #include<stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXEDGE 20#define MAXVEX 14#define INFINITY 65535typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 *//* 邻接矩阵结构 */typedef struct转载 2020-10-07 12:57:27 · 187 阅读 · 0 评论 -
08最短路径_Floyd
#include<stdio.h> #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXEDGE 20#define MAXVEX 20#define INFINITY 65535typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef struct{ int vexs[MAXVEX]; int arc[MAXVEX]转载 2020-10-07 12:56:23 · 105 阅读 · 0 评论 -
07最短路径_Dijkstra
#include<stdio.h> #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXEDGE 20#define MAXVEX 20#define INFINITY 65535typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */ typedef struct{ int vexs[MAXVEX]; int arc[MAXV转载 2020-10-07 12:55:46 · 207 阅读 · 0 评论 -
06最小生成树_Kruskal
#include<stdio.h> #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */#define MAXEDGE 20#define MAXVEX 20#define INFINITY 65535typedef struct{ int arc[MAXVEX][MAXVEX]; int num转载 2020-10-06 16:03:51 · 100 阅读 · 0 评论 -
05最小生成树_Prim
#include<stdio.h> #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXEDGE 20#define MAXVEX 20#define INFINITY 65535typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef struct{ int arc[MAXVEX][MAXVEX]; int num转载 2020-10-06 16:03:14 · 242 阅读 · 0 评论 -
04邻接表深度和广度遍历DFS_BFS
#include<stdio.h> #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 9 /* 存储空间初始分配量 */#define MAXEDGE 15#define MAXVEX 9#define INFINITY 65535typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef int Boolean转载 2020-10-06 16:02:36 · 210 阅读 · 0 评论 -
03邻接矩阵深度和广度遍历DFS_BFS
#include<stdio.h> #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */ typedef int Boolean; /* Boolean是布尔类型,其值是TRUE或FALSE */typedef char VertexType; /* 顶点类型应由用户定义 */typedef int Ed转载 2020-10-06 16:01:57 · 118 阅读 · 0 评论 -
02邻接表创建_CreateALGraph
#include<stdio.h> #include<stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXVEX 100 /* 最大顶点数,应由用户定义 */typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef char VertexType; /* 顶点类型应由用户定义 */typedef转载 2020-10-06 16:01:14 · 448 阅读 · 0 评论 -
01邻接矩阵创建_CreateMGraph
#include<stdio.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXVEX 100 /* 最大顶点数,应由用户定义 */#define INFINITY 65535typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef char VertexType; /* 顶点类型应由用户定义 */typedef in转载 2020-10-06 16:00:22 · 630 阅读 · 0 评论 -
03线索二叉树_ThreadBinaryTree
#include<stdio.h>#include<stdlib.h>#include<math.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef char TElemType;typed转载 2020-10-06 15:59:28 · 450 阅读 · 0 评论 -
02二叉树链式结构实现_BiTreeLink
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 *//*转载 2020-10-06 15:58:43 · 189 阅读 · 0 评论 -
01二叉树顺序结构实现_BiTreeArray
#include<stdio.h>#include<stdlib.h>#include<math.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */#define MAX_TREE_SIZE 100 /* 二叉树的最大结点数 */typedef int Status; /* Status是函数的类型,其值是函数结转载 2020-10-06 15:57:30 · 486 阅读 · 0 评论 -
03模式匹配_KMP对比_UTF-8
#include<stdio.h>#include<stdlib.h>#include<string.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef int ElemType; /* El转载 2020-10-11 13:53:13 · 141 阅读 · 0 评论 -
02模式匹配_KMP
#include<stdio.h>#include<stdlib.h>#include<string.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef int ElemType; /* El转载 2020-10-06 15:55:08 · 187 阅读 · 0 评论 -
01串_String
#include<stdio.h>#include<stdlib.h>#include<string.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 40 /* 存储空间初始分配量 */typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef int ElemType; /* El转载 2020-10-05 16:39:40 · 287 阅读 · 0 评论 -
06链队列_LinkQueue
#include<stdio.h>#include<stdlib.h>#include<math.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20 /* 存储空间初始分配量 */typedef int Status; typedef int QElemType; /* QElemType类型根据实际情况而定,这里假设为int */typed转载 2020-10-05 16:38:58 · 258 阅读 · 0 评论 -
05顺序队列_Queue
#include<stdio.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20 /* 存储空间初始分配量 */typedef int Status;typedef int QElemType; /* QElemType类型根据实际情况而定,这里假设为int *//* 循环队列的顺序存储结构 */typedef struct{ QElemType data[MAXSI转载 2020-10-05 16:38:13 · 307 阅读 · 0 评论 -
04斐波那契函数_Fibonacci
#include<stdio.h>int Fbi(int i) /* 斐波那契的递归函数 */{ if( i < 2 ) return i == 0 ? 0 : 1; return Fbi(i - 1) + Fbi(i - 2); /* 这里Fbi就是函数自己,等于在调用自己 */} int main(){ int i; int a[40]; printf("迭代显示斐波那契数列:\n"); a[0]=0; a[1]=1; print转载 2020-10-05 16:37:39 · 343 阅读 · 0 评论 -
03链栈_LinkStack
#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20 /* 存储空间初始分配量 */typedef int Status; typedef int SElemType; /* SElemType类型根据实际情况而定,这里假设为int *//* 链栈结构 */typedef struct Sta转载 2020-10-05 16:37:08 · 331 阅读 · 0 评论 -
02两栈共享空间_DoubleStack
#include<stdio.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20 /* 存储空间初始分配量 */typedef int Status; typedef int SElemType; /* SElemType类型根据实际情况而定,这里假设为int *//* 两栈共享空间结构 */typedef struct { SElemType data[M转载 2020-10-05 16:36:33 · 267 阅读 · 0 评论 -
01顺序栈_Stack
#include<stdio.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20 /* 存储空间初始分配量 */typedef int Status; typedef int SElemType; /* SElemType类型根据实际情况而定,这里假设为int *//* 顺序栈结构 */typedef struct{ SElemType data[MAXSIZE转载 2020-10-05 16:35:54 · 283 阅读 · 0 评论 -
03静态链表_StaticLinkList
#include<stdio.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 1000 /* 存储空间初始分配量 */typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef char ElemType; /* ElemType类型根据实际情况而定,这里假设为char */转载 2020-10-05 16:34:58 · 206 阅读 · 0 评论 -
02线性表链式存储_LinkList
#include<stdio.h>#include<stdlib.h>#include<time.h> #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20 /* 存储空间初始分配量 */typedef int Status;/* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef int ElemType;/* ElemTy转载 2020-10-05 16:33:14 · 422 阅读 · 0 评论 -
01线性表顺序存储_List
#include<stdio.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20 /* 存储空间初始分配量 */typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef int ElemType; /* ElemType类型根据实际情况而定,这里假设为int */Stat转载 2020-10-05 16:32:34 · 552 阅读 · 0 评论