求大神, c++的问题

来源:3-6 链表编码实战(四)

qq_愿时光安好_04050009

2017-03-31 13:28

void List::ClearList()

{


Node *currentNode = m_pList;

while (currentNode->next != NULL) // 未释放的指针是危险的

{

Node *temp = currentNode->next;

delete currentNode;

currentNode = temp;

}

m_pList->next = NULL;

}

感觉 p_list->data的数据没有被清除啊, 这样没影响吗

写回答 关注

1回答

  • 唱跳rap篮球_
    2017-04-06 15:09:57

    current->next就是一个Node节点,里面存放在data和一个指向下一个node的指针。delete currentNode就是把这个节点所有数据删除, 包括data和指针

    唱跳rap篮... 回复qq_愿时光...

    第一个节点时没有实质数据的,就像火车头一样。所以你存储的数据是从第二个节点开始存储,clear函数是清空存储有数据的节点。留下头结点来让你可以再次在这个链表里面挂载新的节点。如果删除了头结点就是把整个链表销毁,如果你想在使用就必须new一个新链表

    2017-04-06 16:33:14

    共 2 条回复 >

数据结构探险之线性表篇

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

57563 学习 · 257 问题

查看课程

相似问题