
数据结构(c实现)
云淡风轻58
代码是程序员的朋友,虽然没有热情,但是非常忠实。扣:83475375
展开
-
二叉链表
#include<stdio.h>typedef struct btnode{ char data; //数据域 struct btnode *lchild,*rchild; //指向左、右孩子}BtNode,*BinTree;BinTree CreateTree(BinTree bt) //按先序原创 2017-09-12 15:50:44 · 335 阅读 · 0 评论 -
无向图的邻接表广度优先算法
/*无向带权图的邻接表广度优先算法*/#include<stdio.h>#define vnum 10int visited[vnum]={0};typedef struct arcnode{ int adjvex; /*下一条边的顶点编号*/ struct arcnode * nextarc; /*指向下原创 2017-06-02 15:46:16 · 2130 阅读 · 0 评论 -
堆排序
/*堆排序*/#include<stdio.h>#define MAXSIZE 50typedef int KeyType;typedef struct /*数据元素类型定义*/{ KeyType key; /*关键字*/}DataType;typedef struct /*顺序表类型定义*/{ DataType data[MAXSIZE];原创 2017-06-17 10:18:33 · 254 阅读 · 0 评论 -
无向图的邻接表表示法
/*无向图的邻接表表示法*/#include<stdio.h>#define vnum 10typedef struct arcnode{ int adjvex; /*下一条边的顶点编号*/ struct arcnode * nextarc; /*指向下一条边的指针*/}ArcNode;typedef s原创 2017-06-01 14:53:40 · 10668 阅读 · 1 评论 -
有向图的邻接表表示法
/*有向图的邻接表表示法*/#define vnum 10typedef struct arcnode{ int adjvex; /*下一条边的顶点编号*/ struct arcnode * nextarc; /*指向下一条边的指针*/}ArcNode;typedef struct vexnode{原创 2017-06-01 14:39:02 · 1622 阅读 · 0 评论 -
最小生成树prim算法
无向图 最小生成树 /*最小生成树prim算法*/#include <stdio.h>#define vnum 100#define MAX_INT 32767typedef struct graph{ int vexnum,arcnum; /*顶点数、边数*/ int edge[vnum][vnum]; /*邻接矩阵*/}Graph原创 2017-06-05 17:19:05 · 371 阅读 · 0 评论 -
无向带权图的邻接矩阵表示法
/*无向带权图的邻接矩阵表示法*/#include<stdio.h>#define vnum 20typedef struct gp{ int vexs[vnum]; /*顶点信息*/ int arcs[vnum][vnum]; /*邻接矩阵*/ int vexnum,arcnum; /*顶原创 2017-06-01 09:59:50 · 22145 阅读 · 0 评论 -
求二叉树的结点总数
/*求二叉树的结点总数*/#include<stdio.h>#define maxsize 100typedef char datatype;/*二叉链表类型定义*/typedef struct Binnode{ datatype data; /*数据域*/ struct BinNode* lchild,*rchild; /*指向左、原创 2017-05-18 17:22:15 · 25866 阅读 · 5 评论 -
非递归先序遍历二叉树(2)
/*非递归先序遍历二叉树*/#include<stdio.h>#define maxsize 100typedef char datatype;/*二叉链表类型定义*/typedef struct Binnode{ datatype data; /*数据域*/ struct BinNode* lchild,*rchild; /*指向左原创 2017-05-18 17:01:56 · 800 阅读 · 0 评论 -
非递归中序遍历二叉树
/*非递归中序遍历二叉树*/#include<stdio.h>#define maxsize 100typedef char datatype;/*二叉链表类型定义*/typedef struct Binnode{ datatype data; /*数据域*/ struct BinNode* lchild,*rchild; /*指向左原创 2017-05-18 17:08:05 · 417 阅读 · 0 评论 -
非递归先序遍历二叉树
/*非递归先序遍历二叉树*/#include<stdio.h>#define maxsize 100typedef char datatype;/*二叉链表类型定义*/typedef struct Binnode{ datatype data; /*数据域*/ struct BinNode* lchild,*rchild; /*指向左原创 2017-05-18 16:07:34 · 594 阅读 · 0 评论 -
利用队列实现二叉树的层次遍历
/*利用队列实现二叉树的层次遍历*/#include<stdio.h>#define maxsize 100#define NULLData 0typedef char datatype;/*二叉链表类型定义*/typedef struct Binnode{ datatype data; /*数据域*/ struct BinNode*原创 2017-05-18 14:36:45 · 13062 阅读 · 2 评论 -
无向图的邻接表深度优先算法
/*无向图的邻接表深度优先算法*/#include<stdio.h>#define vnum 10int visited[vnum]={0};typedef struct arcnode{ int adjvex; /*下一条边的顶点编号*/ struct arcnode * nextarc; /*指向下一条原创 2017-06-01 16:25:10 · 2183 阅读 · 0 评论 -
静态查找表
/*静态查找表*/#include<stdio.h>#define Maxsize 100typedef int KeyType;typedef struct{ KeyType key; /*关键字*/ int number; /*学号*/ char name[7]; /*姓名*/ char sex[2];原创 2017-06-08 16:11:04 · 694 阅读 · 0 评论 -
链栈
链栈原创 2017-05-16 14:11:55 · 374 阅读 · 0 评论 -
顺序栈
顺序栈原创 2017-05-16 14:10:26 · 290 阅读 · 0 评论 -
链队列
链队列原创 2017-05-16 11:24:18 · 307 阅读 · 0 评论 -
循环队列
循环队列原创 2017-05-16 11:25:11 · 349 阅读 · 0 评论 -
线性表
#include<stdio.h>#define MaxSize 100typedef int DataType;typedef struct seqlist{ DataType data[MaxSize]; //存放数据的数组 int length; //顺序表的长度}SeqList,*原创 2017-09-05 11:30:10 · 392 阅读 · 0 评论 -
单向链表
#include<stdio.h>typedef struct node{ int data; //数据域 struct node *next; //指针域}Node,*LinkList;LinkList Create() //创建链表{ LinkList h;原创 2017-05-16 14:08:57 · 244 阅读 · 0 评论 -
循环链表
/*循环链表*/#include<stdio.h>typedef struct node{ int data; /*数据域*/ struct node * next; /*指针域*/}Node,*LinkList;LinkList CreateLinkList(int n) /*建表*/{ LinkList h原创 2017-06-26 15:48:52 · 264 阅读 · 0 评论 -
哈希表的操作
#include<stdio.h>typedef int keytype;typedef struct /*元素类型定义*/{ keytype key; /*关键字*/ int hi; /*冲突次数*/}DataType;typedef struct /*哈希表类型定义*/{ DataType *data; int原创 2017-06-13 16:09:54 · 431 阅读 · 0 评论 -
二叉排序树
/*二叉排序树*/#include<stdio.h>typedef int keytype;typedef struct /*元素的定义*/{ keytype key;}DataType;typedef struct Node /*二叉排序树的类型定义*/{ DataType da原创 2017-06-12 09:09:01 · 391 阅读 · 0 评论 -
有序表上的查找(二分查找法)
/*有序表上的查找(二分查找法)*/#include<stdio.h>#define Maxsize 10typedef int KeyType;typedef struct{ int elem[Maxsize]; int n; /*最后一个数据元素的下标*/}SqTable;void Create(SqTable *st){ int原创 2017-06-08 16:48:53 · 4501 阅读 · 0 评论 -
二叉树的层次遍历
/*二叉树的层次遍历*/#include<stdio.h>#define MAX 1000typedef char datatype;typedef struct Binnode{ datatype data; /*数据域*/ struct BinNode* lchild,*rchild; /*指向左、右孩子的指针*/}BinNode,*原创 2017-05-18 11:00:46 · 467 阅读 · 0 评论 -
求二叉树的高度
/*求二叉树的高度*/#include<stdio.h>typedef struct btnode{ char data; struct btnode *lchild,*rchild; /*指向左右孩子的指针*/}BinTree;/*二叉树的创建*/BinTree * CreateTree(BinTree *T){ char ch; scanf原创 2017-05-16 16:55:06 · 819 阅读 · 0 评论 -
按先序打印二叉树叶子结点
/*按先序打印二叉树叶子结点*/#include<stdio.h>typedef struct btnode{ char data; struct btnode *lchild,*rchild; /*指向左右孩子的指针*/}BinTree;/*二叉树的创建*/BinTree * CreateTree(BinTree *T){ char ch;原创 2017-05-24 16:14:18 · 7265 阅读 · 0 评论 -
求二叉树叶子结点的递归实现
/*求二叉树叶子结点的递归实现*/#include<stdio.h>typedef struct btnode{ char data; struct btnode *lchild,*rchild; /*指向左右孩子的指针*/}BinTree;/*二叉树的创建*/BinTree * CreateTree(BinTree *T){ char ch;原创 2017-05-24 15:43:15 · 1295 阅读 · 0 评论 -
双向链表
双向链表原创 2017-05-16 11:27:56 · 339 阅读 · 0 评论 -
单链表的逆置
单链表的逆置原创 2017-05-16 11:27:06 · 302 阅读 · 0 评论 -
单链表的合并递增输出
单链表的合并递增输出原创 2017-05-16 11:26:29 · 462 阅读 · 0 评论 -
无队头指针的循环链队
无队头指针的循环链队原创 2017-05-16 11:23:38 · 1000 阅读 · 0 评论 -
循环队列(用标志位实现方法)
循环队列(用标志位实现方法)原创 2017-05-16 11:22:37 · 2678 阅读 · 0 评论 -
稀疏矩阵压缩存储的三元组表示法
稀疏矩阵压缩存储的三元组表示法原创 2017-05-16 11:21:21 · 2868 阅读 · 0 评论 -
二叉树遍历的递归实现
二叉树遍历的递归实现原创 2017-05-16 11:17:08 · 305 阅读 · 0 评论