|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Dec 2006
Messaggi: 15
|
[C] due funzioni per liste circolari.
Devo scrivere 2 funzioni, una che rende una lista lineare in una circolare, e l'altra che cerca un intero in una lista circolare...
Che errore c'è nelle mie implementazioni? la lista l'ho definita così: struct lista { int elem; struct lista *next; }; typedef struct lista lista; Dopo essermi creato la lista, ecco le mie funzioni: lista *rendiCircolare(lista *testa){ lista *aux; aux = testa; while (aux!=NULL){ aux = aux->next; } aux->next = testa; return (testa); } // ............. int cercaintero (lista *testa,int i){ lista *aux; aux = testa; if (testa->elem==i) return 1; else while(aux!=testa){ if (testa->elem==i) return 1; else aux=aux->next; } return NULL; } sapreste individuarmi gli errori? grazie! |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Feb 2004
Messaggi: 1454
|
Quote:
Codice:
lista *rendiCircolare(lista *testa){
if(!testa) return 0;
lista *aux;
aux = testa;
while (aux->next!=NULL)
aux = aux->next;
aux->next = testa;
return (testa);
}
Codice:
int cercaintero (lista *testa,int i){
lista *aux;
aux = testa->next;
if (testa->elem==i)
return 1;
else while(aux!=testa)
if (testa->elem==i)
return 1;
else
aux=aux->next;
return NULL;
}
non li ho testati perché non sono sul pc da programmazione ma così, ad occhio, dovrebbero girare. Ultima modifica di Furla : 14-03-2008 alle 20:00. |
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Dec 2006
Messaggi: 15
|
grazie funziona!!!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:17.




















