C数据结构到磁盘
如何用 C 语言将内存中的树数据结构复制到磁盘?
How can I make a copy of a tree data structure in memory to disk in C programming language?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何用 C 语言将内存中的树数据结构复制到磁盘?
How can I make a copy of a tree data structure in memory to disk in C programming language?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
您需要将其序列化,即找到一种方法来串行遍历它,包括所有节点。这些通常称为遍历方法。
然后找出一种方法来存储每个节点的表示以及对其他节点的引用,以便可以再次加载它们。
隐式表示引用的一种方法是通过像 XML 那样的嵌套。
You need to serialize it, i.e. figure out a way to go through it serially that includes all nodes. These are often called traversal methods.
Then figure out a way to store the representation of each node, together with references to other nodes, so that it can all be loaded in again.
One way of representing the references is implicitly, by nesting like XML does.
这里的基本部分是:
这应该是您完成这项工作所需的所有信息。
或者,如果您使用基于数组的树(使用数组索引而不是指针,或者使用它们在数组中的位置暗示的链接),您可以只保存并加载整个 shebang,而不需要任何进一步的逻辑。
The basic pieces here are:
That should be about all the info you need to do the job.
Alternatively, if you use an array-based tree (with array indexes instead of pointers, or with the links implied by their position in the array) you could just save and load the whole shebang without any further logic required.
提出一个序列化(和反序列化)函数。然后运行它并将输出发送到文件。
Come up with a serialization (and deserialization) function. Then run it and send the output to a file.