![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 80
lwwworkspace
学生
展开
-
线索化二叉树
编译环境:VC++6.0 #include#include#include#define ERROR 0#define OK 1typedef char ElemType;typedef enum PointerTag{Link,Thread}; /* Link==0: 指针 Thread==1: 线索 *//* 二叉树结构体 */typedef struct _ThrBi原创 2009-06-04 13:36:00 · 655 阅读 · 0 评论 -
顺序循环队列一些操作
<br />CircularQueue.h<br />#ifndef SQQUEUE_H_H#define OK 0#define ERROR -1#define MAX_SIZE 5typedef int type;typedef struct SNode{ type date[MAX_SIZE]; int front; //队头指针 int rear; //对尾指针 int queue_length; int queue_size;}SqQueue原创 2010-08-09 18:29:00 · 384 阅读 · 0 评论 -
链式队列一些操作
<br />LinkQueue.h<br /> <br />#ifndef LINKQUEUE_H_H#define OK 0#define ERROR -1typedef int type;typedef struct QNode{ type date; struct QNode *next;}QNode;typedef struct{ QNode *front; QNode *rear;}LinkQueue;int init_linkQueue原创 2010-08-10 16:03:00 · 369 阅读 · 0 评论 -
串的模式匹配算法(求子串位置的定位函数,适合一般字符串定位)
<br />SString.h<br /> <br />#ifndef SSTRING_H_H#define OK 0#define ERROR -1#define MAX_LENGTH 255typedef unsigned char SString[MAX_LENGTH + 1]; //第0个位置存放串的长度int sstr_assign(SString, const char*);int sstr_index(SString, SString, int);int sstr_原创 2010-08-11 16:54:00 · 4145 阅读 · 0 评论 -
KMP算法代码
<br />KMP.H<br /> <br />#ifndef KMP_H_H#define OK 0#define ERROR -1#define MAX_LENGTH 255typedef unsigned char SString[MAX_LENGTH + 1]; //第0个位置存放串的长度int sstr_assign(SString, const char*);int sstr_print(SString);int print_nextval(SString, int*原创 2010-08-12 21:24:00 · 2060 阅读 · 0 评论 -
顺序存储 矩阵 一些操作
Matrix.h#ifndef MATRIX_H_H#define OK 0#define ERROR -1#define MAX_DIM_SIZE 8typedef int ElemType;typedef struct{ ElemType *base; //矩阵基地址 int dim; //矩阵维数 int *bounds; //保存维界值。如A[3][2] bounds[0] = 3, bounds[1] = 2 int *constants; //保原创 2010-08-16 21:51:00 · 553 阅读 · 0 评论 -
二叉树 一些操作
<br />BiTree.h<br /> <br />#ifndef BITREE_H_H#define OK 1#define ERROR 0typedef char ElemType;typedef struct BiLNode{ ElemType data; struct BiLNode *lchild; struct BiLNode *rchild;}BiTree;int init_BiTree(BiTree*);int make_node(BiLNode原创 2010-09-13 22:14:00 · 438 阅读 · 0 评论 -
十字链表 一些操作
<br />CrossList.h<br /> <br />#ifndef CROSSLIST_H_H#define OK 1#define ERROR 0typedef int ElemType;typedef struct OLNode{ ElemType data; int i, j; struct OLNode *right, *down;}OLNode;typedef struct{ OLNode *rhead, *chead; int mu原创 2010-09-01 16:03:00 · 980 阅读 · 0 评论 -
广义表 一些操作
SString.h#ifndef SSTRING_H_H#define OK 0#define ERROR -1#define MAX_LENGTH 255typedef unsigned char SString[MAX_LENGTH + 1]; //第0个位置存放串的长度int sstr_assign(SString, const char*);int sstr_print(SString);int sstr_copy(SString, SString);int sstr原创 2010-09-07 17:19:00 · 605 阅读 · 0 评论 -
孩子兄弟法 建立树和森林
CSTree.h#ifndef CSTREE_H_H#define OK 1#define ERROR 0#define MAX(x,y) (x) > (y) ? (x) : (y)typedef void* ElemType;typedef struct CSNode{ ElemType data; struct CSNode *first_child, *next_sibling;}*CSTree;int init_CSTree(CSTree);int mak原创 2010-09-23 23:38:00 · 1845 阅读 · 0 评论 -
堆分配串一些操作
<br />HString.h<br /> <br />#ifndef HSTRING_H_H#define OK 0#define ERROR -1typedef struct{ char *ch; int length;}HString;int hstr_assign(HString*, const char*);int hstr_print(HString*);int hstr_length(HString*);int hstr_compare(HStrin原创 2010-08-11 15:31:00 · 513 阅读 · 0 评论 -
定长顺序串一些操作
SString.h#ifndef SSTRING_H_H#define OK 0#define ERROR -1#define MAX_LENGTH 255typedef unsigned char SString[MAX_LENGTH + 1]; //第0个位置存放串的长度int sstr_assign(SString, const char*);int sstr_print(SString);int sstr_copy(SString, SString);int sstr原创 2010-08-10 21:55:00 · 727 阅读 · 0 评论 -
顺序队列一些操作
<br />SqQueue.h<br />#ifndef SQQUEUE_H_H#define OK 0#define ERROR -1#define MAX_SIZE 100typedef int type;typedef struct SNode{ type date[MAX_SIZE]; int front; //队头指针 int rear; //对尾指针 int queue_length; int queue_size;}SqQueue;原创 2010-08-09 17:53:00 · 290 阅读 · 0 评论 -
数组表示法建立图
#include#include#include#include#define OK 1#define ERROR 0#define INFINITY -1 /* -1代表无穷 */#define MAX_VERTEX_NUM 20 /* 最大顶点个数 */typedef int VertexType; /* 向量的类型 */typedef int I原创 2009-06-03 21:55:00 · 1131 阅读 · 0 评论 -
邻接表-建立无向图、无向网、有向图、有向网
#include#include#define MAX_VERTEX_NUM 20#define OK 1#define ERROR 0typedef int InfoType; /* 该弧相关信息的指针类型 */typedef char VertexType; /* 顶点的类型 */typedef struct ArcNode /* 弧结点的结构 */原创 2009-06-06 13:17:00 · 22238 阅读 · 6 评论 -
静态链表的一些操作
SLinkList.h头文件 #ifndef SLINKLIST_H_H#define MAX_SIZE 100#define OK 0#define ERROR -1typedef int type;typedef struct SNode{ type elem; int cur;}SLinkList[MAX_SIZE];int init_slinkList(SLinkList);int malloc_node(SLinkList);void fre原创 2010-08-05 16:52:00 · 730 阅读 · 1 评论 -
双循环链表的一些操作
DLinkList.h头文件#ifndef DLINKLIST_H_H#define OK 0#define ERROR -1typedef int type;typedef struct DLNode{ type elem; struct DLNode *prior; struct DLNode *next;}*DLinkList, DLNode;int init_dlinkList(DLinkList*);int create_dlinkList(DLin原创 2010-08-05 17:03:00 · 395 阅读 · 0 评论 -
顺序栈的一些操作
<br />SqStack.h头文件<br />#ifndef SQSTACK_H_H#define OK 0#define ERROR -1#define MAX_SIZE 100typedef int type;typedef struct SNode{ type *base; type *top; int stack_size; int stack_length;}SqStack;int init_stack(SqStack*);int dest原创 2010-08-06 17:47:00 · 326 阅读 · 0 评论 -
链栈的一些操作
<br />LinkStack.h头文件<br />#ifndef LINKSTACK_H_H #define OK 0 #define ERROR -1 typedef int type; typedef struct LNode { type data; struct LNode *next;}*LinkStack; int init_linkStack(LinkStack*);int make_node(LNo原创 2010-08-06 20:36:00 · 345 阅读 · 0 评论 -
简单迷宫实验(链栈)
Stack.h#ifndef STACK_H_H#define OK 0#define ERROR -1typedef struct Point{ int x; int y;}Point;typedef struct Stack{ Point pt; //保存坐标点 struct Stack *next;}*LinkStack;int init_linkStack(LinkStack*);int make_node(Stack**);原创 2010-08-07 21:40:00 · 592 阅读 · 0 评论 -
顺序表的一些操作
<br />#ifndef LIST_H_H#define LIST_INIT_SIZE 100#define OK 0#define ERROR -1typedef int type;typedef struct Node{ type *elem; int list_length; int list_size;}SqList;// create list by arrayint compare(SqList *list, type e){原创 2010-08-05 17:12:00 · 289 阅读 · 0 评论 -
单链表的一些操作
<br />LinkList.h头文件<br />#ifndef LINKLIST_H_H#define OK 0#define ERROR -1typedef int type;typedef struct LNode{ type elem; struct LNode *next;}LNode,*LinkList;int create_linkList(LinkList);int init_linkList(LinkList*);int print_link原创 2010-08-05 17:17:00 · 350 阅读 · 0 评论 -
赫夫曼树 一些操作
<br />HuffmanTree.h<br /> <br />#ifndef HUFFMANTREE#define OK 1#define ERROR 0typedef void* ElemType;typedef char** HuffmanCode;typedef struct HTNode{ ElemType weight; unsigned int parent, lchild, rchild;}*HuffmanTree;int init_Huffman原创 2010-10-07 21:37:00 · 716 阅读 · 0 评论