为了账号安全,请及时绑定邮箱和手机立即绑定

ClearLis()t里面的问题

函数里面定义的Node *currentNode=m_pList->next;

在while循环中为什么定义的Node *temp=current->next中current->next会是下一个节点?


正在回答

1 回答

清空一个链表应该是把它的每个结点所占的内存全部进行清空,所以要从前往后遍历,每遍历一个结点,就把遍历过的结点进行删除,但是呢,在删除当前结点之前,要将当前结点的下一个结点保存起来,不然删除之后就找不到下一个结点来进行清空了,所以要使用temp来保存当前结点的下一个结点Node *temp=currentNode->next(currentNode结点的指针域指向的就是下一个结点,就是currentNode->next就是下一个结点),保存之后呢,再把当前结点删除掉也就是delete currentNode,最后再把当前结点的下一个节点赋值给当前结点,从而保证能够继续往后进行遍历。


2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

ClearLis()t里面的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信