![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
theThreeDay
这个作者很懒,什么都没留下…
展开
-
最大堆
最大堆特点 :1.每个节点最多有俩个节点2.根节点的键值是所有堆节点键值中最大者,且灭个节点值都比其孩子的值打.3.除了根节点没有兄弟节点,最后一和左子节点可以没有兄弟节点,其他节点必须有兄弟节点i的子节点左: 2i+1 i的右子节点:2i+2i的父节点:(i-1)/2#include <stdio.h>#include <stdlib.h>#include <string.h>#define DEFAULT_CAPCITY 128 //堆的最大容量原创 2021-05-24 18:39:17 · 124 阅读 · 0 评论 -
队列
队列是一种受限的线性表它是一种运算受限的线性表,先进先出他只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作#include <stdio.h>#include <assert.h>#include <Windows.h>#include <iostream>#include <iomanip>using namespace std;#define MaxSize 5 //队列的最大容量typ原创 2021-05-22 14:44:07 · 63 阅读 · 0 评论 -
双向链表
#include <iostream>using namespace std;typedef struct _LinkNode{ int data; //数据域 struct _LinkNode *next;//指针域 struct _LinkNode *pre;//指针域}DbLinkNode,DbLinkList;//初始化循环链表bool DbinitList(DbLinkList * &L){ L = new DbLinkNode; if(!L) ret原创 2021-05-17 18:29:08 · 57 阅读 · 0 评论 -
循环链表
循环链表以及约瑟夫问题的解决#include <iostream>using namespace std;typedef struct _LinkNode{ int data; //数据域 struct _LinkNode *next;//指针域}LinkNode,LinkList;//初始化循环链表bool initList(LinkList * &L){ L = new LinkNode; if(!L) return false; L->next原创 2021-05-16 17:12:22 · 63 阅读 · 0 评论 -
单向链表
包含单向链表的前插法,后插法和任意位置插入法再附上我拙略的图#include <iostream>using namespace std;typedef struct _LinkNode{ int data;//节点的数据域 struct _LinkNode *next;//节点的指针域}LinkNode,LinkList;//节点,链表//1.初始化链表bool initList(LinkList* &L){ L = new LinkNode; if(原创 2021-05-14 19:34:45 · 77 阅读 · 0 评论 -
顺序表的算法实现
#include <iostream>using namespace std;#define MAX_SIZE 100//typedef struct _Sqlist SqList;typedef struct { int *elems; //顺序表基地址 int length; //顺序表长度 int size; //顺序表总空间大小}SqList;bool initList(SqList &L)//构造一个空的顺寻表L{ L.elems =原创 2021-03-19 16:46:02 · 270 阅读 · 0 评论