数据结构复习
文章平均质量分 52
整理数据结构与算反的一些知识和代码,主要参考《数据结构》 清华大学出版社C语言版和王道考研书籍。
LiSeMn
这个作者很懒,什么都没留下…
展开
-
2.4 链式队列
这一章是关于链式队列的代码实现。链式队列结点的数据结构:/*链式队列结点*/typedef struct QNode { ElemType data; //数据域 struct QNode* next; //指针域}QNode;链队的数据结构:/*链式队列*/typedef struct { QNode* front, * rear; //队列的队头和队尾指针}LinkQueue;主要函数如下:bool EnQue原创 2021-08-30 00:26:36 · 116 阅读 · 0 评论 -
2.3 循环队列
这一章是关于循环的代码实现。循环队列的数据结构:/*队列数据结构*/typedef struct { ElemType data[MaxSize]; //存放队列元素 int front,rear; //队头指针和队尾指针}SqQueue;主要函数如下:bool EnQueue(SqQueue& Q, ElemType e) 功能:入队;参数:Q:队列, e:入队的元素;时间复杂度:O(1);bool DeQueue(SqQueue&am原创 2021-08-28 23:31:53 · 165 阅读 · 0 评论 -
2.2 链栈
这一章是关于链栈的代码实现。链栈的数据结构:/*链栈结点的数据结构*/typedef struct StackNode{ ElemType data; //数据域 struct StackNode* next; //指针域}StackNode, * ListStack;主要函数如下:bool Push(ListStack& S, ElemType e) 功能:入栈;参数:S:栈, e:入栈的元素;时间复杂度:O(1);bool Pop(ListSta原创 2021-08-27 22:13:48 · 117 阅读 · 0 评论 -
2.1 顺序栈
这一章是关于顺序栈的代码实现。顺序栈的数据结构:typedef struct { ElemType* base; //栈底指针,固定不变 ElemType* top; //栈顶指针,固定在栈顶元素的上一个位置 int stacksize; //栈最大容量}SqStack; 主要函数如下:bool Push(SqStack& S, ElemType e) 功能:入栈;参数:S:栈, e:入栈的元素;时间复杂度:O(1);bool Pop原创 2021-08-27 00:47:02 · 123 阅读 · 0 评论 -
1.3 双链表
这一章是有关双链表的算法分析和代码实现。单链表的结点数据结构:/*双链表结点的数据结构*/typedef struct DNode { ElemType data; //数据域 struct DNode* prior; //前驱指针 struct DNode* next; //后继指针}DNode, *DLinkList;主要有以下实现功能的函数:DLinkList CreateListbyHeadInsert(DLinkList& L)) 功能原创 2021-08-25 23:58:48 · 177 阅读 · 0 评论 -
1.2 单链表
这一章是单链表的算法分析和代码实现。单链表的结点数据结构:typedef struct LNode { ElemType data; //数据域 struct LNode* next; //指针域}LNode, *LinkList ;主要有以下实现功能的函数:LinkList List_HeadInsert(LinkList& L) 功能:头插法建立单链表(逆向建立单链表);参数:L:链表头结点;时间复杂度:O(n);LinkList Li原创 2021-08-24 22:56:21 · 503 阅读 · 0 评论 -
1.1 顺序表
(一)顺序表这一章是线性表中顺序表的实现和代码分析。顺序表的数据结构:#define MaxSize 50 //线性表最大长度#define InitSize 100 //表长度的初始定义/*静态分配*/typedef struct { ElemType data[MaxSize]; int length;}SqList;有以下主要的功能函数:bool CreateList(SqList &L, int n) 创建顺序表;参数 L:顺序表,n:顺序表长度;功能原创 2021-08-19 23:16:22 · 238 阅读 · 0 评论