C数据结构到磁盘

时间:2010-09-15 13:37:45

标签: c memory data-structures tree disk

如何使用C编程语言将内存中的树数据结构复制到磁盘?

3 个答案:

答案 0 :(得分:3)

您需要对其进行序列化,即找出一种包含所有节点的串行方式。这些通常称为traversal methods

然后找出一种方法来存储每个节点的表示,以及对其他节点的引用,以便可以再次加载它们。

通过像XML这样的嵌套来隐式地表示引用的一种方式。

答案 1 :(得分:2)

这里的基本部分是:

  • C文件I / O例程是fopen,fwrite,fprintf等。
  • 将指针复制到磁盘是没用的,因为下次运行所有这些指针值将是废话。所以你需要一些替代指针仍然以某种方式将磁盘记录相互引用。一个明智的选择是文件索引(您的C / I例程使用的类型,如fseekftell)。

这应该是关于完成这项工作所需的所有信息。

或者,如果您使用基于数组的树(使用数组索引而不是指针,或者使用它们在数组中的位置隐含的链接),您只需保存并加载整个shebang,而无需任何其他逻辑。

答案 2 :(得分:0)

提出序列化(和反序列化)功能。然后运行它并将输出发送到文件。