PDA

Visualizza la versione completa : AIUTO!!!!per risolvere un problema c


cisoman
17-12-2003, 04:33
Avrei un problema da risolvere per quanto rigurda la programmazione c.lei
sarebbe disponibile ad aiutarmi?dovrei risolvere queto problema:
devo modificare le funzioni di una lista concatenata in modo che la lista
diventi circolare(in particolare che il successivo dell' ultimo elemento
e' il
primo). In particolare devo scrivere una function che scriva il contenuto
della
lista a partire da un elemento arbitrario.scrivetimi anche mail se volete vedere anche la lista da modificare :confused:

infinitejustice
17-12-2003, 05:49
Visto che immagino che tu sappia come inserire un elemento nella lista (che sia pila o coda) si tratta solo di cercare ogni volta l'ultimo elemento e di farlo puntare al primo.

L'ultimo elemento lo trovi cosi:

//first punta al primo
*first, *current;

for(current = first; current->next != NULL; current = current->next);
All'uscita dal ciclo current sta puntando all'ultimo elemento della lista. (Ovviamente verifica che la lista non sia vuota prima...)
A quel punto si tratta solo di chiudere il cerchio con current->next = first

Loading