La struttura ce l'ho ben stampata in mente, è da ieri sera che sto facendo disegni
La struttura è tipo questa
Dove quei due pallini in basso, dai quali partono le frecce curve sarebbero la struttura che contiene first e last.
L'unico problema ce l'ho con la stampa..
Nel mio es ho fatto un inserimento in testa della lista da 0 a 4.
void stampa(TipoListaDoppia *lis)
{
printf("%d -> ", lis -> first -> info);
lis -> first = lis -> first -> next;
printf("%d -> ", lis -> first -> info);
}
Infatti eseguendo la funzione sopra mi stampa:
4 -> 3 -> che è giusto, dato che l'inserimento è in testa.
Sbaglio la condizione del ciclo, ovvero:
void stampa(TipoListaDoppia *lis)
{
while(lis->first->next != NULL)
{
printf("%d -> ", lis -> first -> info);
lis -> first = lis -> first -> next;
}
}
A me la condizione sembra giusta guardando il disegno..