1. 程式人生 > >樹的儲存結構之雙親孩子表示法

樹的儲存結構之雙親孩子表示法

已知給出的樹結構如下圖:雙親孩子表示法

用程式碼實現方式如下:

/*
孩子表示法:浪費資源
雙親孩子表示法:陣列和連結串列的結合
*/
/*
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; //樹結構的根的位置和節點數
};