(數據結構)存儲結構2

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類型的指針。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章