我正在阅读关于链表的一些基本操作,发现有两种循环被广泛使用。
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
}
我认为它们都可以完成相同的工作,但我不确定。它们之间有什么区别吗?
tmp=tmp->next;
。 - Musa// do something
就包括了它。 - user7116