/*
*顺序二叉树的创建
*初始化
*创建
*测试
*递归的使用
*遍历其节点
*/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define MAXSIZE 1024
typedef char SeqTree[MAXSIZE];//自己定义的一个字符数组
void init_seqtree(SeqTree tree);//二叉树的初始化
void creat_seqtree(SeqTree tree ,int i);//二叉树的创建
void test_seqtree();//测试函数
char getdata_seqtree(SeqTree tree);//得到根节点的字符
int length_seqtree(SeqTree tree);//得到树的节点数
int depth_seqtree(SeqTree tree);//得到树的深度
int main()
{
test_seqtree();//测试函数
return 0;
}
void init_seqtree(SeqTree tree)//二叉树的初始化
{
int i;
for(i=0;i<MAXSIZE;i++)
tree[i]='\0';
}
void creat_seqtree(SeqTree tree,int i)//二叉树的创建
{
char ch;
ch=getchar();
fflush(stdin);
if(ch=='^')
{
tree[i]='\0';
return ;
}
tree[i]=ch;
printf("请输入左孩子节点:\n");
creat_seqtree(tree,2*i+1);
printf("请输入右孩子节点:\n");
creat_seqtree(tree,2*(i+1));
}
void test_seqtree()//测试函数
{
SeqTree tree;
init_