//头函数
#ifndef __1TREE_H__
#define __1TREE_H__
#define FLASE 0
#define TRUE 1
struct _treenode;
typedef struct _childnode
{
struct _treenode *parentnode;
struct _childnode *childnext;
}ChildNode;
typedef struct _treenode
{
char data;
struct _treenode *parent;
struct _childnode *childnode;
struct _treenode *treenext;
int degree;
}TreeNode;
typedef struct _tree
{
struct _treenode *head;
int len;
}Tree;
//创建树
Tree *creat_tree();
//插入结点
int Insert_tree(Tree *tree, char data, int pos);
//打印数据
void Display(Tree *tree);
//获取树中指定的数据
int Tree_Get(Tree* tree, int pos, char *x);
//清空树
int Tree_Clear(Tree* tree);
//销毁树
void Tree_Destroy(Tree* tree);
//判断树是否为空
TreeNode* Tree_Root(Tree* tree);
//树的结点个数
int Tree_Count(Tree* tree);
//树的高度
int Tree_Height(Tree* tree);
//树的度
int Tree_Degree(Tree* tree);
#endif //__1TREE_H__
//主要代码
#include "1tree.h"
#include <stdlib.h>
#include <stdio.h>
Tree *creat_tree()
{
Tree *tree = (Tree *)malloc(sizeof(Tree)/sizeof(char));
if(tree == NULL)
{
return NULL;
}
tree->len = 0;
tree->head = (TreeNode *)malloc(sizeof(TreeNode)/sizeof(char));
if(tree->head == NULL)
{
free(tree);
return NULL;
}
tree->head->parent = NULL;
tree->head->childnode = NULL;
tree->head->treenext &