链表销毁与清空的区别

snfeng 2009-12-22 11:27:54
如题!谢谢
...全文
415 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainwxj 2009-12-22
  • 打赏
  • 举报
回复
销毁是相对于链表实例(空间)而言的,把(实例)空间释放,实例不可用

清空是对链表实例的值(内容)操作,实例还可用
wenqiguo 2009-12-22
  • 打赏
  • 举报
回复
LS
cattycat 2009-12-22
  • 打赏
  • 举报
回复
从上面看到,情况是头节点还在,销毁是整个链表的空间都被释放了。
kouwenlong 2009-12-22
  • 打赏
  • 举报
回复
销毁链表L 
void DestoryList(LinkList *L)
{
NODE *p;
while (L->head){ //依次删除链表中的所有结点
p=L->head; L->head=L->head->next;
free(p);
}
}
清空链表L
void ClearList(LinkList *L)
{
NODE *p;
while (L->head->next){
p=L->head->next; //p指向链表中头结点后面的第一个结点
L->head->next=p->next; //删除p结点
free(p); //释放p结点占据的存储空间
}
}

自己体会
w0911h 2009-12-22
  • 打赏
  • 举报
回复
对于不带头节点的链表应该没什么区别的,对于带头节点的链表,清空应该不包括头,销毁应该是全部
冻结 2009-12-22
  • 打赏
  • 举报
回复
清空是链表没节点,但是链表还在,可以继续插入节点。
销毁就是链表没了,不能进行任何操作了。
liangchencf 2009-12-22
  • 打赏
  • 举报
回复
链表本身是个数据结构,清空是把链表中的元素清空,但链表还存在,销毁是把链表这个结构的内存都释放了吧
selooloo 2009-12-22
  • 打赏
  • 举报
回复
就像一个杯子,把杯子里的水倒掉叫清空,把杯子砸碎叫销毁

70,022

社区成员

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

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