gpt4 book ai didi

c - 如何将文本文件实现为链表?

转载 作者:行者123 更新时间:2023-11-30 18:00:51 25 4
gpt4 key购买 nike

我想做的是霍夫曼算法。该程序的规范之一是用户将创建一个 .txt 文件,其中包含字符及其相应的频率。所以它就像一个字符列表,每个字符旁边是该字符的权重。下面是 that.txt 文件的示例:

H5
J4
K6
S9
L2
N1

我所做的是读取并显示 .txt 文件。我很难将它实现到链表中。我尝试阅读 fread() fwrite() 和所有其他函数,但我真的无法理解它的要点。非常感谢任何形式的帮助。 :D

最佳答案

尽管您需要一棵树,但我假设您使用 struct 进行存储,例如

struct list {
char *symbol;
int prob;
struct list *next;
};

因此,如果您已成功读取文件,那么您将获得字符串“H5”、“J4”等。您所要做的就是使用 strtok 分割字符串。或类似的功能。现在您可以将符号复制到 *symbol 并使用 atoi 转换概率。到一个int,然后将其写入prob

编辑:忘记提及,您应该考虑文件的结构,因为另一方面,“H5”可能不能很好地用 strtok 进行解析也许你根本不需要 strtok,如果第一个字符始终是符号,之后只是计数。

编辑 #2:同时给出 fscanf尝试一下(如果您知道格式的话,比 strtok 容易得多)。

关于c - 如何将文本文件实现为链表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10185664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com