ClearLis()t里面的问题

来源:3-4 链表编码实战(二)

想成为大佬的咸鱼

2018-04-24 17:41

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

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


写回答 关注

1回答

  • ___TINGWEN
    2018-04-26 18:44:56

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


数据结构探险之线性表篇

线性表的主体顺序表和链表,让学员能够将知识融会贯通学以致用

57589 学习 · 257 问题

查看课程

相似问题