/*
*链式二叉树的创建
*二叉树的初始化
*前序 中序 后序遍历
*/
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 1024
static int id=0;
typedef struct elementtype//数据结构体创建
{
char name[MAXSIZE];
int id;
}ElementType;
typedef struct treenode//节点结构体的创建
{
ElementType data;
struct treenode*left;//左节点
struct treenode*right;//右节点
}TreeNode;
typedef struct binarytree//二叉链的结构体
{
TreeNode *root;
int length;//长度
int depth;//深度
int diameter;//从叶节点到叶节点的最长路径
}BinaryTree;
void init_binarytree(BinaryTree*tree);//二叉树的初始化
int creat_binarytree(TreeNode*root);//二叉树的创建
void test_binarytree();//测试函数
void preordertrevers(TreeNode*node);//前序遍历
void inordertravers(TreeNode*node);//中序遍历
void postordertravers(TreeNode*node);//后序遍历
int main()
{
test_binarytree();
return 0;
}
void init_binarytree(BinaryTree*tree)//二叉树的初始化
{
if(tree==NULL)
return ;
else
{
tree->depth=0;
tree->diam