4个回答
展开全部
1、基本思想是通过遍历的方式存储(数据,不存储指针域),还原的时候,根据存储的方式读取数据,再建链表。
2、比如单链表,一次遍历可以得到一个一维数组,存储该数组即可。读取时,依次读取这一数组,重建时,数组的第一个元素的next是第二个元素,第二个next是第三个元素。再比如复杂一点的二叉树,采用链表的形式表示,要存储该二叉树,首先遍历,比如采用中序遍历,得到一个一维数组,保存之。还原的时候,依据中序遍历的原则,可以还原(重建)出二叉树。
2、比如单链表,一次遍历可以得到一个一维数组,存储该数组即可。读取时,依次读取这一数组,重建时,数组的第一个元素的next是第二个元素,第二个next是第三个元素。再比如复杂一点的二叉树,采用链表的形式表示,要存储该二叉树,首先遍历,比如采用中序遍历,得到一个一维数组,保存之。还原的时候,依据中序遍历的原则,可以还原(重建)出二叉树。
展开全部
第一步:创建文件 比如说 file *fp=fopen(……);
第二步:写一个循环,把链表的节点一个一个写进文件里。
第三部:记得关闭文件- -
第二步:写一个循环,把链表的节点一个一个写进文件里。
第三部:记得关闭文件- -
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是按照结构
typedef struct stk{
int k;
struct stk *next;
}STK;
STK *cur = &mystruct;
for(cur=mystruct; cur; cur=cur->next)
{
fwrite(cur, 1, sizeof(STK), fp);
}
读出来是相反的过程
记录1
记录2
记录3
typedef struct stk{
int k;
struct stk *next;
}STK;
STK *cur = &mystruct;
for(cur=mystruct; cur; cur=cur->next)
{
fwrite(cur, 1, sizeof(STK), fp);
}
读出来是相反的过程
记录1
记录2
记录3
追问
我是按照这个方法做的啊,程序太长了,放不下,否则请您看下程序。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询