数据结构
文章平均质量分 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 · 699 阅读 · 0 评论 -
顺序循环队列一些操作
<br />CircularQueue.h<br />#ifndef SQQUEUE_H_H #define OK 0 #define ERROR -1 #define MAX_SIZE 5 typedef 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 · 440 阅读 · 0 评论 -
链式队列一些操作
<br />LinkQueue.h<br /> <br />#ifndef LINKQUEUE_H_H #define OK 0 #define ERROR -1 typedef 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 · 426 阅读 · 0 评论 -
串的模式匹配算法(求子串位置的定位函数,适合一般字符串定位)
<br />SString.h<br /> <br />#ifndef SSTRING_H_H #define OK 0 #define ERROR -1 #define MAX_LENGTH 255 typedef 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 · 4280 阅读 · 0 评论 -
KMP算法代码
<br />KMP.H<br /> <br />#ifndef KMP_H_H #define OK 0 #define ERROR -1 #define MAX_LENGTH 255 typedef 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 · 2110 阅读 · 0 评论 -
顺序存储 矩阵 一些操作
Matrix.h#ifndef MATRIX_H_H #define OK 0 #define ERROR -1 #define MAX_DIM_SIZE 8 typedef 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 · 623 阅读 · 0 评论 -
二叉树 一些操作
<br />BiTree.h<br /> <br />#ifndef BITREE_H_H #define OK 1 #define ERROR 0 typedef 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 · 484 阅读 · 0 评论 -
十字链表 一些操作
<br />CrossList.h<br /> <br />#ifndef CROSSLIST_H_H #define OK 1 #define ERROR 0 typedef 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 · 1057 阅读 · 0 评论 -
广义表 一些操作
SString.h#ifndef SSTRING_H_H #define OK 0 #define ERROR -1 #define MAX_LENGTH 255 typedef 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 · 659 阅读 · 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 · 1920 阅读 · 0 评论 -
堆分配串一些操作
<br />HString.h<br /> <br />#ifndef HSTRING_H_H #define OK 0 #define ERROR -1 typedef 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 · 574 阅读 · 0 评论 -
定长顺序串一些操作
SString.h#ifndef SSTRING_H_H #define OK 0 #define ERROR -1 #define MAX_LENGTH 255 typedef 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 · 794 阅读 · 0 评论 -
顺序队列一些操作
<br />SqQueue.h<br />#ifndef SQQUEUE_H_H #define OK 0 #define ERROR -1 #define MAX_SIZE 100 typedef 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 · 344 阅读 · 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 · 1188 阅读 · 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 · 22412 阅读 · 6 评论 -
静态链表的一些操作
SLinkList.h头文件 #ifndef SLINKLIST_H_H #define MAX_SIZE 100 #define OK 0 #define ERROR -1 typedef 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 · 780 阅读 · 1 评论 -
双循环链表的一些操作
DLinkList.h头文件#ifndef DLINKLIST_H_H #define OK 0 #define ERROR -1 typedef 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 · 455 阅读 · 0 评论 -
顺序栈的一些操作
<br />SqStack.h头文件<br />#ifndef SQSTACK_H_H #define OK 0 #define ERROR -1 #define MAX_SIZE 100 typedef 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 · 373 阅读 · 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 · 388 阅读 · 0 评论 -
简单迷宫实验(链栈)
Stack.h#ifndef STACK_H_H #define OK 0 #define ERROR -1 typedef 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 · 653 阅读 · 0 评论 -
顺序表的一些操作
<br />#ifndef LIST_H_H #define LIST_INIT_SIZE 100 #define OK 0 #define ERROR -1 typedef int type; typedef struct Node { type *elem; int list_length; int list_size; }SqList; // create list by array int compare(SqList *list, type e) {原创 2010-08-05 17:12:00 · 328 阅读 · 0 评论 -
单链表的一些操作
<br />LinkList.h头文件<br />#ifndef LINKLIST_H_H #define OK 0 #define ERROR -1 typedef 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 · 400 阅读 · 0 评论 -
赫夫曼树 一些操作
<br />HuffmanTree.h<br /> <br />#ifndef HUFFMANTREE #define OK 1 #define ERROR 0 typedef 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 · 782 阅读 · 0 评论
分享