0
我想从单个输入文件创建多个二进制树。输入文件如下所示:从输入文件读取单个字符时遇到问题
ABCDEFG
JUHSKDHFG
HDSNURHLNF
JNDKFJBJNF
每行代表一棵不同的树,所以我必须单独读入每个字符。我现在的代码只读取每行的第一个字母,并从第一个字母中创建一个树。我如何将整行读成一棵树,然后从下一行再次开始?
这是我现在所拥有的代码:
int main()
{
BinaryTree <char> BT;
char ch;
string line;
ifstream myfile("input.txt");
if (myfile.is_open())
{
while(getline(myfile, line)
{
while(myfile.get(ch))
{
BT.InsertData(ch);
if(ch = '\n')
break;
}
}
cout << "Preorder: ";
BT.PrintPreorder();
cout << endl;
cout << "Inorder: ";
BT.PrintInorder();
cout << endl;
cout << "Postorder: ";
BT.PrintPostorder();
cout << endl;
cout << "Reverse Inorder: ";
BT.PrintReverseInorder();
cout << endl;
BT.PrintPrintTree();
cout << endl;
myfile.close();
}
return 0;
}
还有......?一个问题?您是否打算忽略实际数据的每一行,并使用一个换行符完成每个外循环传递?根据你的输入数据,看起来会发生什么。 – WhozCraig