二叉树的创建的函数实现
需要的参数为一段数组,数组元素个数,索引—>必须传址要递归改变索引值(index从0-(size-1)),无效值(‘#’)
CreateTree:
```c
Typedef struct Tree{
int val;
struct Tree* left;
struct Tree* right;
}Tree;
//申请节点
Tree* Buyroot(int date)
{
Tree* root = (Tree*)malloc(sizeof(Tree));
if(root==NULL)
{
assert(0);
return NULL;
}
root->val = date;
root->left = NULL;
root->right = NULL;
return root;
}
Tree* CreateTree(int* array,int size,int* index,int valid)
{
Tree* root = NULL;
if(*index<size&&array[*index]!=valid)
{
root = Buyroot(array[(*index)++]);
root->left = CreateTree(array,size,index,valid);
(*index)++;
root->right = CreateTree(array,size,index,valid);
}
return root;
}