链表销毁与清空的区别

snfeng 2009-12-22 11:27:54
如题!谢谢
...全文
281 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
就像一个杯子,把杯子里的水倒掉叫清空,把杯子砸碎叫销毁
  • 打赏
  • 举报
回复
相关推荐
发帖
C语言
加入

6.5w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2009-12-22 11:27
社区公告
暂无公告