Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 二叉树不';无法从文件重建_C++_Codeblocks - Fatal编程技术网

C++ 二叉树不';无法从文件重建

C++ 二叉树不';无法从文件重建,c++,codeblocks,C++,Codeblocks,我是数据结构方面的新手,我们被指派使用二叉树实现做一个猜测游戏。我已经完成了没有文件实现的程序流程。我已经在一个外部文件中预先保存了二叉树,现在我在从文件中重建二叉树时遇到了问题 在我的档案中,我有: 是安吉尔·洛辛吗?:#内能B?是山姆·平托吗##白美人?是吗 玛丽安·里维拉##火辣性感?是克里斯蒂娜·雷耶斯吗### “#”表示空节点 我也有我的代码。我遵循教授给我的算法。我在互联网上搜索,给出了和我教授所说的相同的算法。我的问题是程序每崩溃三分之一的非空数据。我认为崩溃的主要原因是在插入第三

我是数据结构方面的新手,我们被指派使用二叉树实现做一个猜测游戏。我已经完成了没有文件实现的程序流程。我已经在一个外部文件中预先保存了二叉树,现在我在从文件中重建二叉树时遇到了问题 在我的档案中,我有:

是安吉尔·洛辛吗?:#内能B?是山姆·平托吗##白美人?是吗 玛丽安·里维拉##火辣性感?是克里斯蒂娜·雷耶斯吗###

“#”表示空节点

我也有我的代码。我遵循教授给我的算法。我在互联网上搜索,给出了和我教授所说的相同的算法。我的问题是程序每崩溃三分之一的非空数据。我认为崩溃的主要原因是在插入第三个非null数据后没有将节点设置为null。如果是这样,我如何将其设置为NULL以便我的程序不会崩溃。我将文件中的数据分配到字符串数组中,并在数组的最后一个索引处设置“\0”

void read(node *temp)
{
    while(array[j]=="#")
        j++;

    if(array[j]=="\0")
        return;

    node *nNode;
    nNode = new node;
    nNode->yes=NULL;
    nNode->no=NULL;
    nNode->data=array[j];
    j++;
    temp=nNode;
    read(temp->yes);
    read(temp->no);
}

您的问题在于读取函数的定义。我猜这个想法是“temp”是一个类型为“node*”的输出参数。但这不是你写的。 您需要有一个指向“node*”参数的指针或引用,例如:

void read(节点**temp)

然后调整代码的其余部分,以便通过适当的(反)引用进行编译。这会解决你的车祸