首页 > 解决方案 > 从文件扫描生成二叉树

问题描述

我正在编写一个程序来生成给定数字序列的排列,例如 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 实现的函数来这样做。

标签: cfilebinary-treepermutation

解决方案


推荐阅读