我讀到有關鏈接列表上的一些基本操作,我看到了兩種類型的循環遍歷被主要用於使用遍歷鏈表
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->未來;'while循環 – Musa 2012-07-13 03:03:41
@Musa:'//做something'覆蓋它。 – user7116 2012-07-13 03:11:18
問:「for循環」習語是否相當於相應的「while循環」?答:是的。問:這個例子是否有缺陷,因爲這個特定的「for()循環」碰巧有一個bug? - 答:是的,也是:) – paulsm4 2012-07-13 04:52:53