遍历列表的有效方法是什么



temp!=NULL(用于遍历列表的临时变量(之前遍历链接列表和temp->next!=NULL之间有什么区别?

while(temp!=NULL)
{
cout<<temp->data;
temp=temp->next;
}

while(temp->next!=NULL)
{
cout<<tmep->data;
temp=temp->next;
}

区别在于第一个将在链表中打印所有节点的数据。但第二个将打印除最后一个节点外的所有节点数据。由于最后一个节点的下一个指针将指向null,因此while循环内的条件将为false,并且它不会为最后一个结点执行。

我给出的主要答案是,上述算法可以同样用于遍历链表。这就是区别。

第一个算法:指针先移动。然后,它检查当前节点。如果它不等于null,它会输出值并将指针前进到下一个节点。遍历完成后,指针指向一个空值。

第二个算法:指针检查下一个节点。如果它不等于null,它将指针前进到它并输出值。遍历完成后,指针指向最后一个节点。

当您使用第二种方法时,请确保在启动while循环之前临时变量不为NULL。若列表中并没有项目,那个么在while循环的第一行尝试访问temp->next时会出现异常。

另一方面,即使临时变量为NULL,第一种方法也不会导致此错误。

相关内容

  • 没有找到相关文章

最新更新