在文件中维护链表
Maintaining a Linked List in File
作为编程作业的一部分,我必须在文本文件中维护一个链表。我对链表数据结构非常方便,但对C++中的文件则不那么方便。有人可以给我一个想法或概述如何处理它吗?我应该能够添加或删除链表,也能够添加或删除链表中的节点,否则应该重用一个链表上删除的空间。每个列表都有一个数字(整数),所有节点大小相同,包含整数。
我的想法是,
1)维护一个带有数字(包含链表编号)的文件
0 - NULL
1 - head_offset for_linked_list_num 1
0 - NULL
1 - head_offset_for_linked_list_num 3
1 - head_offset_for_linked_list_num 3
1 - head_offset_for_linked_list_num 3
等其中 -1 是终止符指示,位置中的 1 表示第 i 个位置具有与之关联的位置
2)打开另一个文件并像这样维护链表
data next_offset
data next_offset
data NULL
通过这样做,我可以跟踪链表并有效地添加/删除/显示数组。
为了在C++做我需要知道和学习的功能是什么。我的时间非常少,我可以将其视为基本级别的功能。请指教。提前致谢
1 个解决方案可能是让每个列表都有自己的文件。该数字将是磁盘上的文件名。 在文件内部,第一行始终是头节点。每行将是两条数据。节点数据后跟文件中下一个节点的行。这将允许您重复使用已删除的空白空间。(下一个节点行的 -1 将是列表的末尾。例如:
1.txt:
(data) (next node lines number)
18 2
32 4
4 -1
5 3
所以这个链接列表将是 18 -> 32 -> 5 -> 4
有关使用什么函数的问题,您可以咨询:http://www.gnu.org/software/libc/manual/html_node/I_002fO-on-Streams.html#I_002fO-on-Streams通读本节可能需要 15 分钟,并涵盖基础知识。
相关文章:
- 反向给定链表中的K节点
- 如果没有malloc,链表实现将失败
- 文本文件中的单词链表
- 努力将整数转换为链表。不知道我在这里做错了什么
- 链表,反向函数,数据结构
- 使用std::list创建循环链表
- 链表的泛型函数remove()与成员函数remove)
- 为什么不能修改对象中的值?另外,我如何改进此链表?
- 我们可以删除链表中静态内存中的节点吗
- C++,指针数组,指向双链表中的条目
- 链表中写入访问冲突的未知原因
- 如何修复链表类实现的未处理异常0xDDDDDDDD
- 打印所有链表的元素 (C++)
- 错误:需要类名(链表c++)
- 为什么C中的通用链表中存储的数据已损坏
- C++ 创建包含链表和字符串的对象的链接列表时出错
- 链表c++插入,所有情况都已检查,但没有任何工作
- 链表,将列表复制到另一个列表
- 为什么C++对链表中的下一个节点使用指针,而像 C# 或 Java 这样的语言只使用类 Node 的名称?
- 在文件中维护链表