二叉树递归建立

#include <iostream>


typedef struct BinaryTreeNode
{
    int key;
    struct BinaryTreeNode *ltree;
    struct BinaryTreeNode *rtree;
}BinaryTreeNode;

static BinaryTreeNode *create_binary_tree();

int main(int argc, char *argv[])
{
    BinaryTreeNode *root_tree;
    root_tree = create_binary_tree();
    
    return 0;
}

/*先序递归建立二叉树.*/
static BinaryTreeNode *create_binary_tree()
{
    int c;
    BinaryTreeNode *tree;

    std::cin>>c;
    if (c == -1)
        return NULL;
    else
    {
        tree = new BinaryTreeNode;
        tree->key = c;
        tree->ltree = create_binary_tree();
        tree->rtree = create_binary_tree();
        return tree;
    }
}
原文地址:https://www.cnblogs.com/yyxayz/p/4027663.html