从数组创建二叉树的问题

时间:2015-11-22 03:46:11

标签: c arrays pointers recursion binary-tree

我在使用构建二叉树的递归函数时遇到问题。

tree_link tree_from_array_preorder(Item arr[], int N) 
{   
    int pos =0;
    int * pos_ptr=&pos;
    //struct tree_struct treeOfLife;
    if((N<1)|| (arr[0]==0))
        return NULL;

    tree_link root=new_tree_link(arr[pos]);
    root->left=tree_from_array_preorder_aux(arr, pos_ptr, N);
    root->right=tree_from_array_preorder_aux(arr, pos_ptr, N);
    return root;
}

tree_link   tree_from_array_preorder_aux(Item arr[], int *pos, int N) 
{
    if(arr[pos]==0)
        return NULL;
    tree_link root= new_tree_link(arr[pos]);
    (pos)+=1;
    root->left=tree_from_array_preorder_aux(arr, pos, N);
    root->right=tree_from_array_preorder_aux(arr, pos, N);
    return root;

}

我不断收到有关aux函数和我调用它之间冲突类型的错误。我很确定我的指针声明在某个地方搞砸了,而且我对指针的引用也是如此。任何帮助都会很感激,谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

我忘了在我用于此程序的添加的.h头文件中声明原型。 ...... - JustaRedShirt