Stavo leggendo su alcune operazioni di base sulla lista collegata e ho visto due tipi di loop in uso prevalentementeUtilizzando ciclo di attraversare attraverso la lista collegata
struct node {
int data;
struct node *next;
}*start=NULL,*tmp;
Il primo giro è stato di forma
for(tmp=start;tmp->next!=NULL;tmp=tmp->next);
Uso ciclo precedente, adesso i tmp
punta il puntatore verso l'ultimo nodo nell'elenco
Il secondo ciclo è stato di forma
tmp=start;
while(tmp!=NULL)
{
// do something
}
Penso che entrambi fanno lo stesso lavoro, ma non sono sicuro. C'è qualche differenza?
ti manca 'tmp = tmp-> successivo;' nel ciclo while – Musa
@Musa: '// fa qualcosa 'lo copre. – user7116
Q: L'idioma "for loop" è equivalente al "ciclo while" corrispondente? A: Sì. D: Questo esempio è difettoso perché questo particolare "ciclo for()" ha un bug in esso? A: Sì anche :) – paulsm4