4

によるメモリセルの定義

struct node {
    int item;
    node *next;
};

リンクされたリストを指していると仮定すると、nullポインターに到達するまでリストをループするのptrとの間に違いはありますか?while(ptr!=NULL) while(ptr->next!=NULL)

4

2 に答える 2

14

while(ptr->next!=NULL)最後のノードをループしません。

最後のノードに到達するまでptr->nextに null になり、whileループから抜け出します

于 2013-09-16T19:35:50.777 に答える
6

while(ptr != NULL)while(ptr->next != NULL)最後の要素をスキップすると、すべてのリンクされたリストで反復されます。

2 番目のソリューションは、最後のノードにアクセスして、たとえばリストの最後に新しい要素を追加する場合に役立ちます。

于 2013-09-16T19:37:03.487 に答える