关于链表~~~
c语言吧
全部回复
仅看楼主
level 10
沐在水中流
楼主
怎么写入文件?结构体中的指针离开了内存就失效了。
按顺序写入?那对数据删减怎么办,难道要重新排序么?
如上所述:求解答
2012年10月16日 10点10分
1
level 13
w297386804
全部读进来 删了后在写进去
2012年10月16日 10点10分
2
沐在水中流
太费时费力了吧
2012年10月16日 11点10分
w297386804
要不你创建个副本除了要删除的数据,其他的数据一条一条的写到副本里,然后用副本更新 我能想到的只有这两条了
2012年10月16日 11点10分
沐在水中流
回复 w297386804 :貌似这涉及到了数据库了,有空去看看
2012年10月16日 11点10分
w297386804
应该不会吧 你用fread()读出来然后用接着就用fwrite()写进去
2012年10月16日 11点10分
level 11
良化纲领_
自己序列化。
添加数据的话,看你的应用场景而定。举几个例子。
0. 需要借助转储的数据文件快速在线同步链表:在数据库中索引出链表节点对应的序列化文件+文件内偏移+记录长度和全局统一的diff版本号或时间戳。如果觉得存储比较散乱,也可以试试blob或是按超时值批量commit一批节点的形式。
这个我不容易构想出实际的场景,毕竟这么做同步的话,在小规模的cluster内实在龌龊。
1. 一次性的构造占多数,同步是少数情况:维护diff日志和对应版本号的数据文件,一般转储时只做零散提交,在某些时间点(如启动/关闭/用于外存记录同步的定时器溢出)上同步一次。
2. 仅一次性构造。你懂的。
2012年10月16日 11点10分
3
w297386804
不知所云...
2012年10月16日 11点10分
沐在水中流
完全不懂
2012年10月16日 11点10分
良化纲领_
回复 w297386804 :简单不完全地分类讨论了一下而已。
2012年10月16日 11点10分
level 10
凄凉赤
写到文件里了,就不好办了
如果没有大规模数据交换,只有在关闭文件之前写文件了
2012年10月16日 11点10分
4
level 11
Hope_20121221_
按顺序写, 还能怎样..
2012年10月16日 12点10分
5
level 1
whbss5025
那你就在文件里删除不就行了
2012年10月16日 12点10分
6
level 4
good__boy__
他娘,我整不懂链表
2012年10月16日 16点10分
8
1