我正在研究ubuntu64位(c ++) 我有一棵二叉树并且代码运行良好..但是我需要用数字创建3个txt文件(preorder.txt,inorder.txt,postorder.txt)。当我运行我的代码时,我得到了所有东西,但仅仅是终端..我不知道如何将这3件事写到txt文件中。谢谢您阅读我的戏曲。.
但是我也在这里复制终端:
vilmos @ ubuntu:〜$ g ++ binfa1.cpp vilmos @ ubuntu:〜$ ./a.out 10,5,6,8,11,14,18, 预购 5,6,8,10,11,14,18, 为了 5,6,8,11,14,18,10, 邮购
所以我需要:
- preorder.txt
- inorder.txt
- postorder.txt
以及数字
这是我的第一个问题。.抱歉英语不好
答案 0 :(得分:0)
但是我需要创建3个txt文件(preorder.txt,inorder.txt,postorder.txt) 用数字
因此,您所指向的代码有一个例子:
FOREIGN_KEY CHILD_TABLE CHILD_COLUMN POSITION PRI_OR_UNIQ_KEY PARENT_TABLE PARENT_COLUMN
----------- ----------- ------------ -------- --------------- ------------ -------------
T2_FK_1 T2 T1_ID 1 T1_PK T1 ID
T2_FK_2 T2 T1_UNIQ1 1 T1_UK T1 UNIQ1
T2_FK_2 T2 T1_UNIQ2 2 T1_UK T1 UNIQ2
就像我猜到的那样,这些函数使用cout,因此所有输出都将输出到std输出,该输出通常默认为用户屏幕。
现在考虑进行此灯光修改:
void btree::inorder_print(){
inorder_print(root);
cout << "\n";
}
void btree::inorder_print(node *leaf){
if(leaf != NULL){
inorder_print(leaf->left);
cout << leaf->value << ",";
inorder_print(leaf->right);
}
}
您的现有代码将像以前一样工作,因为将cout作为默认参数输入,并且cout是std :: ostream。
要更改输出的位置,只需打开一个ostream到所需的路径,然后将其传递给这些函数即可。不要忘记关闭。
概述:修改了“工作”代码以接受目的地(默认为cout)。