读书人

新人分不多问个清除链表的有关问题

发布时间: 2012-03-09 21:42:55 作者: rapoo

新人分不多,问个清除链表的问题,可能比较菜
初学C++,对于清除链表很是不解,对于一个以head为头结点的链表,我做程序清除如下:

void clearList(node *head)
{
node *pDel=head;
while(pDel!=NULL)
{
delete pDel;
pDel=pDel->next;
}
cout<<endl;
}

总是出现内存不能为read的情况,望各位朋友帮忙解答。

[解决办法]
删掉了怎么执行pDel->next;
[解决办法]
while(pDel!=NULL)
{
delete pDel;
pDel=pDel->next;
}

你都把pdel删掉了。pdel-》next还能有什么作用?

删除pdel之前把。pdel->next的值保存起来。

[解决办法]
删掉了怎么会有next呢? 应该加个指针备份下再删
[解决办法]

探讨

void clearList(node *&head)
{
node *p;
while (head!=NULL)
{
p=head;
head=head->next;
delete p;
}
}
这个函数中,如果不引用head,也就是这样void clearList(node *head)行不行呢?我总觉得没有必……

读书人网 >C++

热点推荐