我无法打印我的二进制树的顺序,预订和发布顺序。当我从cin读书时,我有它工作。但是,现在我正在读取一个txt文件,我的顺序,预订和发布顺序都打印出从txt文件中读取的内容。我提供了我认为问题所在的代码,如果您需要查看我的其余代码,请发表评论。
我的代码:
int main()
{
vector <BinaryTree <string> > BT;
int iteration = 0;
string line;
ifstream myfile("input.txt");
if (myfile.is_open())
{
while(getline (myfile, line))
{
BinaryTree <string> temptree;
BT.push_back(temptree);
BT[iteration].InsertData(line);
cout << "Preorder: ";
BT[iteration].PrintPreorder();
cout << endl;
cout << "Inorder: ";
BT[iteration].PrintInorder();
cout << endl;
cout << "Postorder: ";
BT[iteration].PrintPostorder();
cout << endl;
cout << "Reverse Inorder: ";
BT[iteration].PrintReverseInorder();
cout << endl;
BT[iteration].PrintPrintTree();
cout << endl;
iteration++;
}
myfile.close();
}
return 0;
}
答案 0 :(得分:0)
您的输入一次应该是一个字符吗?当您希望一次接受一个字符时,看起来您正在接受文本行,这可以解释您的输出(&#39; abcd&#39;是单个节点,您的根)。