遍历链表时,while循环通常是
while (current != NULL)
但是,为什么"当前!= NULL"而不是" current-> next!= NULL"?
答案 0 :(得分:0)
使用链接列表和其他数据结构时,确保在特定算法和方案中考虑所有边缘情况非常重要。
通常
current->next == NULL;
会充分告诉您是否没有更多节点,因此您在最后一个节点上。但是,以下情况呢?
Node* current = NULL;
current->next == NULL;
现在你正在尝试使用一个C ++禁止的空指针;行为本身是未定义的,并且可能使用空指针异常
使代码崩溃