一、线性表
(1)顺序存储结构ok
typedef struct{
ElemType data [MaxSize]; //顺序表的元素
int length; //顺序表的当前长度
}SqList; //顺序表的类型定义
(2)链式存储结构ok
typedef struct Lnode{ //定义单链表结点类型
ElemType data; //数据域
struct LNode *next; //指针域
}Lnode,*LinkList;
二、栈
(1)顺序栈存储结构
typedef struct{
ElemType data [MaxSize]; //存放栈中元素元素
int top; //栈顶指针
}SqStack;
(2)链式存储结构ok
typedef struct StackNode{
ElemType data; //数据域
struct StackNode *next; //指针域
}StackNode,*LinkStack; //栈类型定义
三、队列
(1)顺序存储结构
typedef struct{
ElemType data [MaxSize]; //存放队列元素
int front,rear; //队头指针和队尾指针
}SqQueue;
(2)链式存储结构
typedef struct {
ElemType data;
struct LinkNode *next;
}LinkNode;
typedef struct {
LinkNode *front,*rear; //队列的队头和队尾指针
}LinkQueue;
四、二叉树
(1)顺序存储结构ok
typedef ElemType SqBiTree[MaxSize];
SqBiTree bt;
(2)链式存储结构!!!ok
typedef struct BiTNode{
ElemType data; //数据域
struct BiTNode *lchild,*rchild; //左右孩子指针
}BiTNode,*BiTree;