c - 从文件扫描生成二叉树
问题描述
我正在编写一个程序来生成给定数字序列的排列,例如 10,11,12,32,33,45,56,67 然后输出(这是这个系列的所有排列)我存储在文件 result.txt我必须从 result.txt 中的每一行输入生成一棵二叉树
我知道当用户提供数字作为输入时创建二叉树的程序,但这里我有一个文件作为示例,我最初将输入作为 9 个数字 87,80,65,45,32,22,109,9,6 I我存储在 result.txt 中,如下所示。
87 80 65 45 32 22 109 9 6
87 65 80 45 32 22 109 9 6
87 65 45 80 32 22 109 9 6
87 65 45 32 80 22 109 9 6
87 65 45 32 22 80 109 9 6
87 65 45 32 22 109 80 9 6
87 65 45 32 22 109 9 80 6
87 65 45 32 22 109 9 6 80
65 87 45 32 22 109 9 6 80
65 45 87 32 22 109 9 6 80
65 45 32 87 22 109 9 6 80
65 45 32 22 87 109 9 6 80
65 45 32 22 109 87 9 6 80
65 45 32 22 109 9 87 6 80
65 45 32 22 109 9 6 87 80
65 45 32 22 109 9 6 80 87
45 65 32 22 109 9 6 80 87
45 32 65 22 109 9 6 80 87
45 32 22 65 109 9 6 80 87
45 32 22 109 65 9 6 80 87
45 32 22 109 9 65 6 80 87
45 32 22 109 9 6 65 80 87
45 32 22 109 9 6 80 65 87
45 32 22 109 9 6 80 87 65
32 45 22 109 9 6 80 87 65
32 22 45 109 9 6 80 87 65
32 22 109 45 9 6 80 87 65
32 22 109 9 45 6 80 87 65
32 22 109 9 6 45 80 87 65
32 22 109 9 6 80 45 87 65
32 22 109 9 6 80 87 45 65
32 22 109 9 6 80 87 65 45
22 32 109 9 6 80 87 65 45
22 109 32 9 6 80 87 65 45
22 109 9 32 6 80 87 65 45
22 109 9 6 32 80 87 65 45
22 109 9 6 80 32 87 65 45
22 109 9 6 80 87 32 65 45
22 109 9 6 80 87 65 32 45
22 109 9 6 80 87 65 45 32
109 22 9 6 80 87 65 45 32
109 9 22 6 80 87 65 45 32
109 9 6 22 80 87 65 45 32
109 9 6 80 22 87 65 45 32
109 9 6 80 87 22 65 45 32
109 9 6 80 87 65 22 45 32
109 9 6 80 87 65 45 22 32
109 9 6 80 87 65 45 32 22
9 109 6 80 87 65 45 32 22
9 6 109 80 87 65 45 32 22
9 6 80 109 87 65 45 32 22
9 6 80 87 109 65 45 32 22
9 6 80 87 65 109 45 32 22
9 6 80 87 65 45 109 32 22
9 6 80 87 65 45 32 109 22
9 6 80 87 65 45 32 22 109
6 9 80 87 65 45 32 22 109
6 80 9 87 65 45 32 22 109
6 80 87 9 65 45 32 22 109
6 80 87 65 9 45 32 22 109
6 80 87 65 45 9 32 22 109
6 80 87 65 45 32 9 22 109
6 80 87 65 45 32 22 9 109
6 80 87 65 45 32 22 109 9
80 6 87 65 45 32 22 109 9
80 87 6 65 45 32 22 109 9
80 87 65 6 45 32 22 109 9
80 87 65 45 6 32 22 109 9
80 87 65 45 32 6 22 109 9
80 87 65 45 32 22 6 109 9
80 87 65 45 32 22 109 6 9
80 87 65 45 32 22 109 9 6
现在的问题是如果我使用像 fgets() 这样的函数
#include<stdio.h>
#include<stdlib.h>
int main ()
{
FILE *fp;
char line[60];
fp=fopen("result.txt","r");
while (fgets(line,60,fp)){
puts(line);
}
fclose(fp);
}
我只希望数组元素分别出现在不同的数组元素中,并输出 puts 或 fgets 这是我无法想到的,欢迎任何关于如何解决这个问题的想法。由于我不知道如何将排列生成的输出存储在数组中,所以我想将输出存储在文件中。到这里程序很好,但是在此之后我如何从 result.txt 中的行中读取序列的每个整数是我的问题,我无法想到任何 C 实现的函数来这样做。
解决方案
推荐阅读
- excel - 使用任务计划程序在 Excel 中运行 selenium vba 宏时,如何修复“运行时错误 429:ActiveX 组件无法创建对象”错误?
- c# - 有没有一种最有效的方法可以在 C# 中读取/写入最多 10GB 的二进制文件?
- expect - 在期望脚本中循环以发送多个发送命令
- php - Laravel/Heroku,没有这样的文件或目录用于会话
- c++ - 递归变体输出编译但在运行时出现段错误
- pandas - pandas datetime 为 2018-12-31 的 weekofyear 返回 1
- c# - 如何检索填充 WPF Treeview 的对象?
- javascript - 带有 react-bootstrap 的浮动标签
- jenkins - jenkins 和 github 集成期间“需要 GitHub 项目 url”
- c# - 如何从调用基本构造函数的类继承?