基础数据结构
学不会密码学
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基础数据结构——排序算法
一些基础的排序算法实现 //排序算法#include<iostream>using namespace std; int a[100]; int b[100]; int n; //打印函数 显示每次排序后的结果void display(int a[],int n){ for(int i=1;i<=n;i++) cout<<a[i]<<" "; cout<<endl;} //直接插入排序void InsertSort(原创 2021-10-15 16:25:45 · 171 阅读 · 0 评论 -
基础数据结构——并查集
在这里以洛谷P1551题来说明并查集的使用。/** (洛谷P1551)亲戚 题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。 题目描述 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。 输入格式 第一行:三个整数n,m,p,(n<=5000,m<=5000,p<=5000),分别表示有n个人,m个亲戚关系,询问p原创 2021-10-15 16:21:16 · 210 阅读 · 0 评论 -
基础数据结构——链式栈
// 链式栈的实现#include<iostream>#include<stdlib.h>using namespace std;typedef int type;typedef struct LinkNode{ type data; struct LinkNode *next;}Node ,*Stack;//初始化栈 void init(Stack &stack){ stack=(Stack)malloc(sizeof(Node)); stack-&原创 2021-06-03 20:42:34 · 170 阅读 · 0 评论 -
基础数据结构——二叉树
//二叉树的操作#include<iostream>#include<stdlib.h>#include<cstring>#include<algorithm>#include<queue>#include<vector>#include<stack>#define maxSize 100 //结点最大数量 using namespace std;typedef int type;typedef str原创 2021-06-02 12:59:44 · 197 阅读 · 0 评论 -
基础数据结构——队列(链表实现)
// 链表实现队列#include<iostream>#include<stdlib.h>using namespace std;typedef int type;typedef struct LinkNode{ type data; struct LinkNode *next;}LinkNode;typedef struct{ LinkNode *front,*rear;}LinkQueue;//初始化void init(LinkQueue &qu原创 2021-06-02 12:57:52 · 136 阅读 · 0 评论 -
基础数据结构——循环队列
//循环队列 有一个单元空间没使用 用来标志标志队满 #include<iostream>using namespace std;#define maxSize 5typedef int type;typedef struct sqQueue{ type data[maxSize]; int front,rear; }sqQueue;//初始化void init(sqQueue &queue){ queue.front=0,queue.rear=0;} //原创 2021-06-02 12:56:42 · 132 阅读 · 0 评论 -
基础数据结构——队列
//队列#include<iostream>using namespace std;typedef int type;#define maxSize 100typedef struct Queue{ type data[maxSize]; int front,rear;}Queue;//初始化void init(Queue &queue){ queue.front=0; queue.rear=0;} //判对空bool isEmpty(Queue &原创 2021-06-02 12:54:52 · 167 阅读 · 0 评论 -
基础数据结构——栈
//模拟栈的实现#include<iostream>using namespace std;#define maxSize 100typedef int type;typedef struct Stack{ type data[maxSize]; int top;}Stack;//初始化栈 void init(Stack &stack){ stack.top=-1; } //判栈空int isEmpty(Stack &stack){ return s原创 2021-06-02 12:52:36 · 130 阅读 · 0 评论 -
基础数据结构——双链表
//带头节点双链表#include<iostream>#include<stdlib.h>using namespace std;typedef int type;typedef struct DNode{ type data; struct DNode *prior; struct DNode *next;} DNode ,*DLinkNode; //初始化头节点 void init(DLinkNode &head){ head=(DLinkNode原创 2021-06-02 10:07:48 · 145 阅读 · 0 评论 -
基础数据结构——单链表
//带头节点的单链表操作#include<iostream>#include<stdlib.h>using namespace std; typedef int type;typedef struct node{ type data; struct node *next;} Node,*LinkNode; //初始化头节点 void init(LinkNode &head){ head=(LinkNode)malloc(sizeof(Node));原创 2021-06-01 20:53:44 · 142 阅读 · 0 评论 -
基础数据结构——线性表
#include<iostream>#include<stdlib.h>using namespace std;#define maxSize 100typedef int type; //线性表结构体 typedef struct { type data[maxSize]; type length;} Sqlist; //检查线性表是否为空bool isEmpty(Sqlist *L){ return L->length<=0;} //初始原创 2021-06-01 16:28:48 · 171 阅读 · 0 评论
分享