一、線性表
(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;