gpt4 book ai didi

c - 使用循环遍历链表

转载 作者:太空狗 更新时间:2023-10-29 16:59:13 24 4
gpt4 key购买 nike

我在阅读关于链表的一些基本操作时,我看到主要使用两种类型的循环


struct node {
int data;
struct node *next;
}*start=NULL,*tmp;

第一个循环的形式是

for(tmp=start;tmp->next!=NULL;tmp=tmp->next);

使用上面的循环,现在 tmp 指针指向列表中的最后一个节点

第二个循环的形式是

tmp=start;
while(tmp!=NULL)
{
// do something
}

我认为他们两个做同样的工作,但我不确定。有区别吗?

最佳答案

我想你的 while 循环是这样的。

temp=start;
while(temp!=NULL)
{
// do something
temp= temp->next;
}

在您的for 循环 代码中,当您离开for 循环 时,temp 不会指向NULL。 temp 指向链接列表的末尾。但是在 while 循环 的情况下,您的 temp 在退出 while 循环后指向 NULL 并且您没有 tail(除非您将 temp 分配给任何其他临时变量如果您想在后续步骤中使用它,请与您一起更改程序的逻辑。这是唯一的区别。除了没有太大区别。

您可以通过编写一个小程序并打印结果来检查它。我建议你这样做。

关于c - 使用循环遍历链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11463514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com