吉林师范大学
#include #include
//2.2.1顺序表的C语言描述 #define MAXSIZE 100 typedef struct{ int data[MAXSIZE]; int last; }Sequenlist;
//2.3.2单链表的C语言描述(注意循环链表) typedef int datatype; typedef struct node{ datatype data; struct node *next; }linklist; linklist *head;
//2.3.5双链表的C语言描述 typedef struct dnode{ datatype data; struct dnode *prior,*next; }dlinklist;
//3.2.1顺序栈的C语言描述 typedef struct{ datatype data[MAXSIZE]; int top; }seqstack;
//3.3链式栈的C语言描述 typedef struct snode{ datatype data; struct snode *next; }linkstack;
//4.2.1顺序队列的C语言描述(注意4.2.3循环队列的定义和基本操作) typedef struct{ datatype data[MAXSIZE]; int front; int rear; }seqqueue;
//4.3.1链队列的C语言描述 typedef struct qnode{ datatype data; struct qnode *next; }qnode_linklist; typedef struct { qnode_linklist *front ,*rear;
1 / 2
}linkqueue;
//5.2.1串的顺序存储的C语言定义(注意建
立串时候的fflush(stdin);) char sstr[MAXSIZE]; typedef struct{ datatype data[MAXSIZE]; int len; }sstring;
//5.2.2链串的类型描述 typedef struct linknode{ char data; struct linknode *next; }linkstring;
//5.2.3堆串的描述 typedef struct{ char *ch; int length; }hstring;
//7.3.2二叉链表结点的C语言描述 #define MAX_SIZE 100 typedef struct btnode{ datatype data; struct btnode *lchild,*rchild; }btnode;
//三叉链表结点的C语言描述 typedef struct btnode_3{ datatype data; struct btonde_3 *lchild,*rchild,*parent; }btnode_3;
//线索二叉树的C语言描述 typedef struct bithrnode{ datatype data; struct bithrnode *lchild,*rchild; int ltag,rtag; }bithrnode;
//7.7.1树的存储结构1、双亲表示法(顺序存储结构)
typedef struct tnode{ datatype data; int parent; }ptnode;
typedef struct{ ptnode node[MAX_SIZE]; int num;