ElemType根據題目要求更換
一、順序存儲結構
(1)線性表
typedef struct{
ElemType data [MaxSize]; //順序表的元素
int length; //順序表的當前長度
}SqList; //順序表的類型定義
(2)棧
typedef struct{
ElemType data [MaxSize]; //存放棧中元素元素
int top; //棧頂指針
}SqStack;
(3)隊列
typedef struct{
ElemType data [MaxSize]; //存放隊列元素
int front,rear; //隊頭指針和隊尾指針
}SqQueue;
(4)二叉樹
typedef ElemType SqBiTree[MaxSize];
SqBiTree bt;
一、順序存儲結構
typedef struct{
ElemType data [MaxSize]; //順序表的元素
{*}
}Sq#; //順序表的類型定義
*線性表 int length; //順序表的當前長度
*棧 int top; //棧頂指針
*隊列 int front,rear; //隊頭指針和隊尾指針
#線性表SqList
#棧SqStack
#隊列SqQueue
二、鏈式存儲結構
(1)線性表
typedef struct Lnode{ //定義單鏈表結點類型
ElemType data; //數據域
struct LNode *next; //指針域
}Lnode,*LinkList;
(2)棧
typedef struct LinkNode{
ElemType data; //數據域
struct LinkNode *next; //指針域
}LinkNode,*LiStack; //棧類型定義
(3)隊列
typedef struct LinkNode{ //隊結點類型定義
ElemType data;
struct LinkNode *next;
}LinkNode;
typedef struct { //鏈隊類型定義
LinkNode *front,*rear; //隊列的隊頭和隊尾指針
}LinkQueue;
(4)二叉樹
typedef struct BiTNode{
ElemType data; //數據域
struct BiTNode *lchild,*rchild; //左右孩子指針
}BiTNode,*BiTree;
二、鏈式存儲結構
typedef struct A{ //定義單鏈表結點類型
ElemType data; //數據域
struct A B; //指針域
}A,C;
A
線性表Lnode
棧LinkNode
隊列LinkNode
二叉樹BiTNode
B
線性表next
棧next
隊列next
二叉樹lchild,rchild
C
線性表LinkList
棧LiStack
隊列
二叉樹*BiTree
Bitree *T是聲明一個類型,*T是一個Bitree類型的指針。