关于释放双向链表空间的问题

xiaoyaodeyun2008 2009-07-18 10:56:05
void Free(Linklist &L)//释放链表空间
{
Linklist p;
p=L;
while(p!=NULL)
{
p=p->next;
free(p->prior);
}
}
以前没有写过,不太懂,哪位大侠帮帮忙啊,给找找错误
...全文
180 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ernst20020530 2009-07-18
  • 打赏
  • 举报
回复
函數進來的應該是指針void Free(Linklist *L)//


void Free(Linklist &L)// &L不知道指的是什麽
hrlhrl0 2009-07-18
  • 打赏
  • 举报
回复
void Free(Linklist &L)//释放链表空间
{
Linklist p;
p=L; //找到头指针
while(p!=NULL)
{
p=p->next;
free(p->prior);//一个一个释放
}
}
jue222 2009-07-18
  • 打赏
  • 举报
回复
贴个完整点的程序吧,才好帮你调啊
abcdef0966 2009-07-18
  • 打赏
  • 举报
回复
贴个完整点的程序吧,才好帮你调啊
xiaoyaodeyun2008 2009-07-18
  • 打赏
  • 举报
回复
如果改成
void Free(Linklist &L)//释放链表空间
{
while(L!=NULL)
{
L=L->next;
free(L->prior);
}
}
这样应该不是指针了吧,可还是在程序结束时发送错误报告

jn989 2009-07-18
  • 打赏
  • 举报
回复
Linklist p;
p=L;
这两句;
p应该是指针
沙漠里的海豚 2009-07-18
  • 打赏
  • 举报
回复
你连个错误信息都不给怎么给你建议啊
Crazy_hand 2009-07-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hrlhrl0 的回复:]
引用 9 楼 crazy_hand 的回复:
C/C++ codewhile(p++)
{
ptemp= p;//可能这样会好点,你试试
p= p->next;    //多余了吧                 
free(ptemp);//一个一个释放}


----------------------------------------------------------------------------------------------------------------------
传说回贴会得到奖励!!!
每天例行工事。。
雁过留声,人过留名。。。。
赚点分,留着以后问问题用。。。
顺便顶下贴。。。
CSDN回贴专用。。


[/Quote]

ptemp 指向的还是p,提前释放ptemp,也就是间接的把p释放了
hrlhrl0 2009-07-18
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 crazy_hand 的回复:]
C/C++ codewhile(p++)
{
ptemp= p;//可能这样会好点,你试试
p= p->next; //多余了吧
free(ptemp);//一个一个释放}


----------------------------------------------------------------------------------------------------------------------
传说回贴会得到奖励!!!
每天例行工事。。
雁过留声,人过留名。。。。
赚点分,留着以后问问题用。。。
顺便顶下贴。。。
CSDN回贴专用。。

[/Quote]
Crazy_hand 2009-07-18
  • 打赏
  • 举报
回复

while(p++)
{
ptemp = p; //可能这样会好点,你试试
p = p->next;
free(ptemp);//一个一个释放
}



----------------------------------------------------------------------------------------------------------------------
传说回贴会得到奖励!!!
每天例行工事。。
雁过留声,人过留名。。。。
赚点分,留着以后问问题用。。。
顺便顶下贴。。。
CSDN回贴专用。。

abcdef0966 2009-07-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ernst20020530 的回复:]
函數進來的應該是指針void Free(Linklist *L)//


void Free(Linklist &L)// &L不知道指的是什麽
[/Quote]

引用

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧