1、单链表
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode ,*LinkedList;
2、双链表
typedef struct DNode{
ElemType data;
struct DNode *prior ,*next;
}DNode,*DLinkedList;
3、二叉树(二叉链表)
typedef struct BiTNode{
ElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,* BiTree;
4、树(孩子兄弟表示法)
typedef struct CSNode{
ElemType data;
struct CSNode *firstchild,*nextsibling;
}CSNode, *CSTree;
5、栈
typedef struct {
SElemType *base ;
SElemType *top;
int stackSize;
}SqStack;
typedef struct SNode{
ElemType data;
struct SNode *next;
}SNode,*StackPtr;
typedef struct {
StackPtr *base;
StackPtr *top;
int stackSize;
}LinkedStack;
6、队列
typedef struct {
SElemType *base ;
int front;
int rear;
}SqQueue;
typedef struct QNode{
ElemType data;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct {
QueuePtr front;
QueuePtr rear;
}LinkedQueue;
7、赫夫曼编码
typedef struct {
unsigned int weight;
unsigned int parent,lchild,rchild;
}HFNode, *HuffmanTree
8、矩阵的三元组表示
#define MAXSIZE 12500
typedef struct {
int i, j;
ElemType e;
}Triple;
typedef struct {
Tripe data[MAXSIZE + 1 ];
int rowNum, colNum, nozeroNum;
}TSMatrix;
8、基数排序
typedef struct {
KeysType keys[MAX_NUM_OF_KEY];
InfoType info;
int next;
}SLCell;
typedef struct {
SLCell r[MAX_SPACE];
int keynum;
int renum;
}SLList;
typedef int ArrType[REDIX];