如何将该链表中的数据以文件形式保存在磁盘上

如何将该链表中的数据以文件形式保存在磁盘上,第1张

楼上的思路是正解,你要是喜欢,我还可以教你一点旁门左道的东西。

其实也简单,就是自定义malloc函数,使得链表在分配空间时在一个限定区段内(比如0000~FFFF)进行分配,档闹即你已经知道了链表可能存在的最大空间,然后保存时,直接用指针:

fwrite()把整个区段写进去,然后再记录根地址即可;

调用时,先把整个区段读进去,然后把根地址读出来作为根,这样整个链表一共用两个指令就完成读写 *** 作了。

不要觉得有多咐蠢搜无赖可笑,现代 *** 作系统:WINXP / VISTA / WIN7 / LINUX / OS X等等,其快速“休眠”功能完全就是上面的解法,就是把内存和寄存器状态一并写入磁盘,这个方法非常快,而且不会出错,但是衡历能把教你数据结构的老师气得吐血。

有人说这样产生的文件会很大,大怕什么,压缩一下不就行了?反正里面实际上放置的是一个稀疏矩阵,压缩后的结果可能比楼上产生的文件更小。

第一步:创建文件 比如说 file *fp=fopen(……);橘首

第二步:写一个循环,把喊租链表的节点一个一郑伍兆个写进文件里。

第三部:记得关闭文件- -


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12208131.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存