算法与数据结构
无趣_ing
这个作者很懒,什么都没留下…
展开
-
顺序表的查找优化
//l.date[0]未储存数据 #include<stdio.h>#include<stdlib.h>#define max_size 1000#define ok 1#define error 0 typedef struct sq{ int date[max_size]; int lenth;}sqlist;void insert(sqlis...原创 2020-03-04 17:11:03 · 171 阅读 · 0 评论 -
顺序表的合并
/* *我是将链表A与B进行比较 *将b中与B不同的元素插入到链表A中 */ #include<stdio.h>#include<stdlib.h>#define max_size 10#define ok 1#define error 0 typedef struct sq{ int date[max_size]; int lenth;...原创 2020-03-04 17:04:48 · 421 阅读 · 0 评论 -
顺序表排序
#include<stdio.h>#include<stdlib.h>#define MAXSIZE_LENGTH_INSERT_SORT 7#define MAXSIZE 10#define ok 1#define error 0 typedef struct sq{ int date[MAXSIZE+1]; int lenth;}sqlist;v...原创 2020-03-04 17:04:14 · 343 阅读 · 0 评论 -
拓扑排序
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MaxSize 20 typedef char VertexType; typedef struct outNode { //定义出度的节点,边表 VertexType...原创 2020-03-04 17:03:40 · 75 阅读 · 0 评论 -
线索二叉树
#include<stdio.h>#include<stdlib.h>typedef enum {Link,Thread} PointerTag;//Link==0表示指向左右孩子的指针 //Thread==1表示指向前驱和后继的线索 typedef struct BiThrNode{ char date; struct BiThrNod...原创 2020-03-04 17:00:47 · 93 阅读 · 0 评论 -
线性队列
#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100//循环队列的顺序储存结构 typedef struct { int date[MAXSIZE]; int front; int rear;}SqQueue;//初始化一个空队列 int InitQueue(SqQueue *Q){ Q...原创 2020-03-04 16:56:38 · 178 阅读 · 0 评论 -
栈的顺序储存结构
#include<stdio.h>#include<stdlib.h>typedef struct StackNod { int date; struct StackNod *next;}StackNode,*LinkStackPtr;typedef struct LinkStack{ LinkStackPtr top; int count;}Li...原创 2020-03-04 16:38:14 · 85 阅读 · 0 评论 -
栈的顺序储存结构
#include<stdio.h>#include<stdlib.h>#define MAXSIZE 10typedef struct stack{ int date[MAXSIZE]; int top;}SqStack,*SQ;//栈的初始化,建立一个空栈 SQ IniStack(){ SQ S; S = (SQ)malloc(sizeof(S...原创 2020-03-04 16:37:38 · 82 阅读 · 0 评论 -
字符串的操作
#include <stdio.h>void StrAssign(char *T,char *chars){ int i=0; while(*(chars+i)) { *(T+i)=*(chars+i); i++; }}void StringCopy(char T[],char s[]){ int i=0; while(s[i]!='\0') { ...原创 2020-03-04 16:32:55 · 313 阅读 · 0 评论 -
双向链表
#include<stdio.h>#include<stdlib.h>typedef struct link{ int date; struct link *pre; struct link *next;}Node,*NODE;NODE creat(){ NODE p; p=(NODE)malloc(sizeof(Node)); p->ne...原创 2020-03-04 16:25:25 · 62 阅读 · 0 评论 -
双亲表示法
#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100typedef struct PNode{ int date; int parent;}PTNode;typedef struct { PTNode nodes[MAXSIZE]; int r,n;}PTree;PTree* Init...原创 2020-03-04 16:18:32 · 461 阅读 · 0 评论 -
标准的kmp算法
//字符串T中T[0]储存T的长度 #include <stdio.h>void ClearString(char s[]){ int i=0; while(s[i]!='\0') { s[i] = '\0'; i++; }}int StrLength(char s[]){ int i=0; while(s[i]!='\0') i++; ret...原创 2020-03-04 16:16:48 · 103 阅读 · 0 评论 -
十字链表
//图的十字链表存储 //杨鑫 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_VERTEX_NUM 20 #define MAX_Info 80 #define MAX_VERTEX_NAME 5 #define MAXQSI...原创 2020-03-04 16:16:12 · 125 阅读 · 0 评论 -
求两个链表的公共节点——C语言
#include<stdlib.h> #include<stdio.h>#include<time.h>typedef struct stu{ int num; struct stu* node;}STU,*Ptrstu;Ptrstu creat(){ Ptrstu head; head = (Ptrstu)malloc(sizeof(S...原创 2020-03-04 16:14:18 · 304 阅读 · 0 评论 -
普里姆算法
#include<stdio.h>#include<stdlib.h>#define INFIN 65535#define MAX_VERTEX_NUM 20typedef enum{DG,DN,UDG,UDN}GraphKind; //有向图,有向网,无向图,无向网 typedef struct ArcCell{ int adj; //顶点的关...原创 2020-03-04 16:13:34 · 122 阅读 · 0 评论 -
邻接矩阵图
#include<stdio.h>#include<stdlib.h>typedef char VertexType; //顶点类型又用户定义 typedef int EdgeType; //边上的权值类型由用户定义 #define MAXVEX 100#define INFINITY 65535#define MAXSIZE 100typedef i...原创 2020-03-04 16:12:55 · 159 阅读 · 0 评论 -
邻接表
初学者。如果有误请指正,欢迎联系QQ2684162190#include<stdio.h>#include<stdlib.h>typedef int VertexType;typedef int EdgeType;#define MAXVEX 100#define INFINITY 65535typedef int Boolean;Boolean visit...原创 2020-03-04 15:56:49 · 88 阅读 · 0 评论 -
两个栈互用存储空间
初学者。如果有误请指正,欢迎联系QQ2684162190#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100typedef struct s{int date[MAXSIZE];int top1;int top2;}SqDoubleStack,*SQ;//建立空栈SQ creat(){SQ ...原创 2020-03-04 15:56:04 · 138 阅读 · 0 评论 -
链表合并
初学者。如果有误请指正,欢迎联系QQ2684162190#include<stdio.h>#include<stdlib.h>typedef struct stu{int num;struct stu* node;}STU,*Ptrstu;Ptrstu creat(){Ptrstu head;head = (Ptrstu)malloc(sizeof(S...原创 2020-03-04 15:55:00 · 54 阅读 · 0 评论 -
链表排序
初学者。如果有误请指正,欢迎联系QQ2684162190#include<stdio.h>#include<stdlib.h>typedef struct head{int date;struct head* next;}Link,*Plink;Plink crea(){Plink node=(Plink)malloc(sizeof(Link));no...原创 2020-03-04 15:50:35 · 66 阅读 · 0 评论 -
链表反转
初学者。如果有误请指正,欢迎联系QQ2684162190#include<stdio.h>#include<stdlib.h>typedef struct head{int date;struct head* next;}Link,*Plink;Plink crea(){Plink node=(Plink)malloc(sizeof(Link));no...原创 2020-03-04 15:48:43 · 85 阅读 · 0 评论 -
链表
初学者。如果有误请指正,欢迎联系QQ2684162190#include <stdio.h>#include <string.h>#include<malloc.h>typedef struct link{int date;struct link* next;}Link;Link* put(){Link node;node=(Link)m...原创 2020-03-04 15:48:04 · 75 阅读 · 0 评论 -
快排_c语言
初学者。如果有误请指正,欢迎联系QQ2684162190#include <stdio.h>#include <stdlib.h>#define ARRAY_SIZE 10void swap(int a[],int x,int y){int t = a[x];a[x] = a[y];a[y] = t;}//函数名:display//作用:打印数组元素...原创 2020-03-04 15:45:50 · 101 阅读 · 0 评论 -
克鲁斯卡尔算法
初学者。如果有误请指正,欢迎联系QQ2684162190#include <stdio.h>#include <stdlib.h>#define MAXEDGE 20#define MAXVEX 20#define INFINITY 65535typedef struct{int arc[MAXVEX][MAXVEX];int numVertexes, ...原创 2020-03-04 15:44:28 · 155 阅读 · 0 评论 -
二叉树的孩子兄弟表示法
初学者。如果有误请指正,欢迎联系QQ2684162190初学者。#include<stdio.h>#include<stdlib.h>#define MAX_TREE_SIZE 100typedef struct Node{char date;struct Node *lchild,*rchild;}BiTNode,*BiTree;/*根据二叉树的括号表示...原创 2020-03-04 15:43:44 · 2295 阅读 · 2 评论 -
弗洛伊德算法
初学者。如果有误请指正,欢迎联系QQ2684162190#include<stdio.h>#include<stdlib.h>#define INFINITY 65535#define MAX_VERTEX_NUM 6#define TRUE 1int final[6];typedef enum{DG,DN,UDG,UDN}GraphKind; //有向图,有...原创 2020-03-04 15:42:16 · 94 阅读 · 0 评论 -
二叉链表
初学者。如果有误请指正,欢迎联系QQ2684162190/对树进行初始化是采用前序输入#代表节点为空*///推荐输入ab#c##d###include<stdio.h>#include<stdlib.h>#define TElemType chartypedef struct BiTNode{TElemType date;struct BiTNode *l...原创 2020-03-04 15:41:35 · 123 阅读 · 0 评论 -
队列链式结构_C语言
初学者。如果有误请指正,欢迎联系QQ2684162190#include<stdio.h>#include<stdlib.h>typedef struct Qnode{int date;struct Qnode *next;}QNode,*QueuePtr;typedef struct{QueuePtr front,rear;}LinkQueue;/...原创 2020-03-04 15:40:40 · 94 阅读 · 0 评论 -
迪杰斯特拉算法——C语言
初学者。如果有误请指正,欢迎联系QQ2684162190#include<stdio.h>#include<stdlib.h>#define INFIN 65535#define MAX_VERTEX_NUM 20int final[6];typedef enum{DG,DN,UDG,UDN}GraphKind; //有向图,有向网,无向图,无向网typede...原创 2020-03-04 15:39:23 · 341 阅读 · 0 评论 -
标准链表
初学者。如果有误请指正,欢迎联系QQ2684162190#include<stdio.h>#include<malloc.h>typedef struct Link{int date;struct Link * next;}link;link * initLink(){link Node;Node=(link)malloc(sizeof(link));...原创 2020-03-04 15:38:19 · 117 阅读 · 0 评论 -
KMP算法
初学者。如果有误请指正,欢迎联系QQ2684162190//字符串T中T[0]不储存T的长度#include <stdio.h>void ClearString(char s[]){int i=0;while(s[i]!=’\0’){s[i] = ‘\0’;i++;}}int StrLength(char s[]){int i=0;while(s[i]!=...原创 2020-03-04 15:37:22 · 100 阅读 · 0 评论 -
红黑树Java
初学者。如果有误请指正,欢迎联系QQ2684162190package test;public class BTtree {//左旋,右孩子不能为空,因为右孩子要成为cur的父节点public void leftRotate(Root T, Node cur){Node right = cur.right;cur.right = right.left;if(right.left!=T...原创 2020-03-04 15:35:06 · 68 阅读 · 0 评论