樹的儲存結構之雙親孩子表示法
阿新 • • 發佈:2019-02-03
已知給出的樹結構如下圖:
用程式碼實現方式如下:
/*
孩子表示法:浪費資源
雙親孩子表示法:陣列和連結串列的結合
*/
/*
1.雙親孩子表示法定義一個數結構,運用結構體指標的程式設計方式
2.找到每個結構之間的聯絡,此套系統是倒序構建的
*/
#define MAX_TREE_SIZE 100
//孩子結點
typedef struct CTnode
{
int child; //孩子結點的下標
struct CTnode * next; //定義下一個孩子結點的指標
}* ChildPtr; //定義結構體指標,指向此孩子結構體
//表頭結構,一行元素
typedef struct
{
char data; //存放在樹中節點的資料
int parent; //存放在節點的雙親下標
ChildPtr firstchild; //定義結構體指標是指向第一個孩子的指標
}CTBox; //雙親結構的別名
//樹結構
typedef struct
{
CTBox node(MAX_TREE_SIZE);//定義雙親節點型別的結構體陣列,大小為100;
int r,n; //樹結構的根的位置和節點數
};