C语言数据结构
mysunday2
大地方撒地方放大
展开
-
C语言数据结构(六):哈希表
一、线性探测插入算法 /* 线性开放定址法 */ #include "stdlib.h" #include "stdio.h" #include "stdbool.h" #include "string.h" #define MAX_CHAR 10 #define TABLE_SIZE 13 typedef struct { char key[MAX_CHAR]; } Element; Element g_hashTable[TABLE_SIZE]; void InitTable(Elem原创 2020-05-16 01:00:21 · 273 阅读 · 0 评论 -
C语言数据结构(五):树
一、二叉树 二、堆 三、二叉查找树 四、森林原创 2020-05-15 21:07:59 · 204 阅读 · 0 评论 -
C语言数据结构(四):双向链表
一、双向链表的基本操作原创 2020-05-15 21:03:13 · 141 阅读 · 1 评论 -
C语言数据结构(三):单向链表
一、单向链表的基本操作 单向链表也需要实现“增、删、改、查”的动作,核心点在于能够熟练掌握在不同的结构体定义下,基本方法的实现。除此之外,还需要掌握的是链表的翻转、链表的串接。其中,链表的删除、翻转和串接容易忘记。 /* create/insert/delete/visit */ #include "stdlib.h" #include "stdio.h" typedef struct list_node* list_pointer; //自引用结构 typedef struct list_node原创 2020-05-15 21:01:57 · 208 阅读 · 0 评论 -
C语言数据结构(二):队列
一、顺序存储结构实现 与栈类似,队列也是最简单的数据结构。用顺序存储和链式存储都能实现,但是需要注意的是由于队列是先进先出的,所以队首位置不能超过队尾指针,且当索引超过最大队列长度时,需要使用循环队列。 (1)结构体中定义数组 /* CreateQueue/IsEmpty/IsFull/AddElement/DeleteElement */ #include "stdbool.h" #include "stdlib.h" #include "stdio.h" #define MAX_DATA_NU原创 2020-05-15 20:53:18 · 128 阅读 · 0 评论 -
C语言数据结构(一):栈
一、顺序存储结构实现 栈的实现比较简单,主要是存储方式有顺序存储和链式存储两种。在结构体定义上,可以直接分配数组大小,定义栈空间;也可以在结构体定义中,使用指针,再在初始化栈时分配空间。 #include "stdio.h" #include "stdlib.h" #include "stdbool.h" #define MAX_DATA_NUM 100 typedef struct { int pop; int data[MAX_DATA_NUM]; } StackData;原创 2020-05-15 20:45:39 · 149 阅读 · 0 评论