数据结构实现
12十二12
12
展开
-
数据结构图的DFS深度优先搜索C语言
#include <iostream>#include <queue>using namespace std;#define maxSize 100#define Elemtype intbool visited[maxSize];typedef struct { Elemtype vexs[maxSize]; int arcs[maxSize][maxSize]; int numVexs; int numArcs;}adjacenryM原创 2022-02-21 16:26:07 · 189 阅读 · 1 评论 -
数据结构图的BFS广度优先搜索C语言
#include <iostream>#include <queue>using namespace std;#define maxSize 100#define Elemtype intbool visited[maxSize];typedef struct { Elemtype vexs[maxSize]; int arcs[maxSize][maxSize]; int numVexs; int numArcs;}adjacenryM原创 2022-02-21 15:59:14 · 165 阅读 · 0 评论 -
数据结构邻接表图C语言
#include <iostream>using namespace std;#define Elemtype int#define maxSize 100#define initData -1typedef struct aNode{ int indexVex; struct aNode *nextArcNode;}arcNode;typedef struct vNode{ Elemtype data; arcNode *firstArcNode原创 2022-02-21 15:13:36 · 703 阅读 · 0 评论 -
数据结构邻接矩阵图C语言
#include <iostream>using namespace std;#define maxSize 100#define Elemtype inttypedef struct { Elemtype vexs[maxSize]; int arcs[maxSize][maxSize]; int numVexs; int numArcs;}adjacenryMatrixGraph;void initAdjacenryMatrixGraph(adj原创 2022-02-19 16:15:41 · 384 阅读 · 0 评论 -
数据结构并查集C语言
#include <iostream>using namespace std;#define maxSize 100#define Elemtype int#define initSet -1typedef struct { Elemtype a[maxSize];}mergeAndFind;// 初始化并查集void initMergeAndFind(mergeAndFind &T) { for(int i = 0; i < maxSize;原创 2022-02-18 15:50:52 · 430 阅读 · 0 评论 -
数据结构后序线索二叉树C语言
#include <iostream>using namespace std;#define Status int #define OK 1#define ERROR 0#define Elemtype chartypedef enum{ Link,Thread}PointerTag;typedef struct BiThrNode{ Elemtype data; struct BiThrNode *lchild, *rchild; struct BiThrNode原创 2022-02-14 15:46:23 · 480 阅读 · 0 评论 -
数据结构先序线索二叉树C语言
#include <iostream>using namespace std;#define Status int #define OK 1#define ERROR 0#define TElemType char typedef enum{ Link,Thread}PointerTag;typedef struct BiThrNode{ TElemType data; struct BiThrNode *lchild, *rchild; PointerTag LTa原创 2022-02-14 15:13:26 · 550 阅读 · 0 评论 -
数据结构中序线索二叉树C语言
#include <iostream>using namespace std;#define Elemtype chartypedef struct BiTNode { Elemtype data; struct BiTNode *lchild, *rchild; int LTag, RTag;} BiThreadNode, *BiThreadTree;BiThreadNode *pre; // 当前访问节点的前驱void visit(Elemtype原创 2022-02-13 15:54:24 · 335 阅读 · 0 评论 -
数据结构链式二叉树C语言
#include <iostream>#include <queue>// queue是C++语言中的头文件,它包含了队列的实现以及一系列的操作。// 在这里是为了实现二叉树的层次实现using namespace std;#define TRUE 1#define FALSE 0#define Elemtype chartypedef struct tNode{ Elemtype data; struct tNode *leftchild, *rig原创 2022-02-13 11:53:48 · 170 阅读 · 0 评论 -
数据结构顺序二叉树C语言
#include <iostream>using namespace std;#define Elemtype char#define maxSize 100typedef struct{ Elemtype data[maxSize+1]; int length;}seqBiTree;// 这种顺序二叉树是只可以存储完全二叉树或者满二叉树的,// 或者说只有这两类的二叉树才会有最大的存储效率,// 若需要存储其他类型的普通的二叉树,也必须要按照这种方式去存储。原创 2022-02-12 15:52:46 · 512 阅读 · 0 评论 -
数据结构优化的KMP算法C语言
#include <iostream>using namespace std;void getnextval(char T[], int lengtht, int *nextval) { int i = 1; int j = 0; nextval[i-1] = 0; while(i < lengtht) { if(T[i-1] == T[j-1] || j == 0) { i ++; j +原创 2022-02-11 17:02:41 · 178 阅读 · 0 评论 -
数据结构KMP模式匹配C语言
#include <iostream>using namespace std;bool getNext(char T[], int length, int *next) { int i = 1; int j = 0; next[i-1] = 0; while(i < length) { if(j == 0 || T[i-1] == T[j-1]) { i ++; j ++;原创 2022-02-11 16:42:10 · 364 阅读 · 0 评论 -
数据结构简单模式匹配C语言
#include <iostream>using namespace std;int simpleMatch(char S[], int lengths, char T[], int lengtht) { int i = 1; int j = 1; while(i <= lengths && j <= lengtht) { if(S[i-1] == T[j-1]) { i ++;原创 2022-02-11 16:41:16 · 510 阅读 · 0 评论 -
数据结构堆串C语言
#include <iostream>using namespace std;#define Elemtype char#define maxSize 100#define initSize 10#define Equal 0#define Bigger 1#define Smaller -1typedef struct { Elemtype *data; int length; int size;}heapString;void initHeapS原创 2022-02-09 17:08:12 · 460 阅读 · 0 评论 -
数据结构顺序串C语言
#include <iostream>using namespace std;#define Elemtype char#define maxSize 100#define Equal 0#define Bigger 1#define Smaller -1typedef struct { Elemtype data[maxSize]; int length;}seqString;void initSeqString(seqString &S) {原创 2022-02-09 16:33:21 · 463 阅读 · 0 评论 -
数据结构链表队列C语言
#include <iostream>using namespace std;#define Elemtype int#define maxSize 100typedef struct Node{ Elemtype data; struct Node *next;}qNode;typedef struct { qNode *rear; qNode *front;}linkQueue;bool initLinkQueue(linkQueue &am原创 2022-02-07 15:38:13 · 420 阅读 · 0 评论 -
数据结构顺序队列C语言
#include <iostream>using namespace std;#define Elemtype int#define maxSize 100typedef struct { int data[maxSize]; int front; int rear;}seqQueue;void initSeqQueue(seqQueue &Q) { Q.front = 0; Q.rear = 0;}bool isEmptySe原创 2022-02-07 15:18:07 · 361 阅读 · 0 评论 -
数据结构链式栈C语言
#include <iostream>using namespace std;#define Elemtype int#define maxSize 100typedef struct LSNode{ Elemtype data; struct LSNode *next; }linkStackNode, *linkStack;bool initLinkStack(linkStack &S) { S = new linkStackNode; i原创 2022-02-06 19:41:46 · 180 阅读 · 0 评论 -
数据结构顺序栈C语言
#include <iostream>using namespace std;#define ElemType int#define maxSize 100typedef struct { ElemType data[maxSize]; int top;}seqStack;void initSeqStack(seqStack &S) { S.top = 0;}bool pushSeqStack(seqStack &S, ElemType原创 2022-02-06 19:17:39 · 91 阅读 · 0 评论 -
数据结构静态链表C语言
#include <iostream> using namespace std;#define ElemType int#define maxSize 100typedef struct{ ElemType data; int next;}StaticList[maxSize];void initStaticList(StaticList &L) { for(int i = 0; i < maxSize; i ++) { L[i原创 2022-02-06 16:55:07 · 521 阅读 · 0 评论 -
数据结构循环双链表C语言
#include <iostream> using namespace std;#define ElemType int#define maxSize 100typedef struct dNode { ElemType data; struct dNode *next, *prior;}dNode, *doubleLinkList;// 循环双链表与双链表最大的不同就是在进行初始化的时候和进行尾插和头插法创建链表的时候有一些不同// 初始化循环双链表bool原创 2022-02-06 16:06:06 · 160 阅读 · 0 评论 -
数据结构双链表C语言
#include <iostream> using namespace std;#define ElemType int#define maxSize 100typedef struct dNode { ElemType data; struct dNode *next, *prior;}dNode, *doubleLinkList;// 初始化双链表bool initDoubleLinkList(doubleLinkList &L) { L =原创 2022-02-06 15:28:55 · 161 阅读 · 0 评论 -
数据结构单链表C语言
#include <iostream> using namespace std;#define ElemType int#define maxSize 100typedef struct lNode { ElemType data; struct lNode *next;}lNode, *linkList;//初始化一个链表bool InitLinkList(linkList &L) { L = new lNode; L->next原创 2022-02-06 15:27:30 · 60 阅读 · 0 评论 -
数据结构顺序表C语言
#include <iostream>using namespace std;#define maxSize 100#define ElemType inttypedef struct { int *data; int length;}sxList;//对线性表的初始化,为数组申请空间,并且将数组长度初始化为0bool InitSxList(sxList &L) { L.length = 0; L.data = new int[maxSi原创 2022-02-06 15:26:25 · 267 阅读 · 0 评论