//树的链式存储--三叉表示法
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct _TreeNode{
//数据域
int data;
//指针域
struct _TreeNode * leftchild;//左孩子指针
struct _TreeNode * rightchild;//右孩子指针
struct _TreeNode * parent;//双亲指针---比二叉表示法多了一个双亲指针
}TreeNode, *TreeNodePointer;
void Test1(){
//定义结构体对象
TreeNode t1, t2, t3, t4, t5;
//填充数据域
t1.data = 1;
t2.data = 2;
t3.data = 3;
t4.data = 4;
t5.data = 5;
//建立树之间的关系
//t1是根节点 t2是t1的左孩子
t1.leftchild = &t2;
t1.rightchild = NULL;
t1.parent = NULL;
// t3是t2的左孩子
t2.leftchild = &t3;
t2.rightchild = NULL;
t2.parent = &t1;
// t4是t2的左孩子
t3.leftchild = &t4;
t3.rightchild = NULL;
t3.parent = &t2;
// t5是t4的左孩子
t4.leftchild = &t5;
t4.rightchild = NULL;
t4.parent = &t2;
//t5没有孩子节点
t5.leftchild = NULL;
t5.rightchild = NULL;
t5.parent = &t4;
}
void main(){
system("pause");
}