ツリーのノードを接続する際に問題があります。私のプログラムでは、関数read()
が最初に実行され、次にload()
関数が実行されます。 read()
の機能では、外部ファイルのすべてのデータが配列に格納され、load()
関数で再構築されます。変数dat
およびi
がグローバルに宣言されました。私の問題はload()
機能にあります。あなたの助けは本当に高く評価されています。私の外部ファイルのデータは事前に整理され、NULLノードには "#"が使用されました。ファイルからツリーを再構築
void read()
{
string dat1;
fstream file;
file.open("data.txt", ios::in);
do
{
getline(file,dat1);
dat[i]=dat1;
i++;
}while(!file.eof());
file.close();
}
void load(node *root,int index)
{
node *nNode;
nNode=(node*)malloc(sizeof(node));
nNode->yes=NULL;
nNode->no=NULL;
nNode->data=dat[index];
if(index<i)
{
if(nNode->data!="#")
{
root=nNode;
load(root->yes,index+1);
load(root->no,index+1);
}
else
{
root=NULL;
return;
}
}
}
を。 "私の問題は負荷機能にある"それは盗聴ですか?もしそうなら、方法。それはコンパイルですか?そうでない場合は、どのようなエラー。 – 111111
コンパイルされますが、ノードは接続されません。私の問題を申し訳ありません。 – user1242812