把一个有序的数组转换为二叉树
例如 4,6,8,10,12,14,16
转换为二叉树为
10
/ \
6 14
/ \ / \
4 8 12 16
按照中序遍历的方法转换到二叉树中。先要确定一个根节点,然后递归创建
node *arrayTotree(int a[] , int start,int end )
{
if(start>end)
{
return NULL;
}
int m = start+(end-start)/2;
node *root = new node();
root->data = a[m];
root->left = arrayTotree(a , start , m-1);
root->right=arrayTotree(a,m+1 ,end);
return root;
}