PDA

Visualizza la versione completa : [C] Implementare iteratore di una lista


LiLyblack
30-04-2007, 23:26
Ciao a tutti, ho un piccolo problema nella scrittura di un po' di codice.
Devo creare un cosėdetto "iteratore" che scandendo una lista tenga traccia della posizione attuale all'interno di questa.

So che esiste qualcosa di simile in java, ma io non conosco affatto i linguaggi di programmazione ad oggetti, purtroppo :(

Questo iterator č tipo di dato astratto che devo definire io, e rispettivamente devo definire le funzioni
1) iterator get_iterator (list l) che crea un nuovo iteratore
2) void * next (iterator i) che restiruisce il prossimo elemento puntato dell'iteratore
3) int has_next (iterator i) che mi dice sono arrivata alla fine della lista o meno.

quello che non riesco a capire, č come faccio ad aggiornare la posizine dell'iteratore se posso passare in input alla funzione soltanto l'iteratore e non anche la lista l??

vergognosamente, ho definito una struct iter cosė come segue:

struct iter {
void * top;
};
e iteratore non č altro che il puntatore a questa struct.

Temo di aver sbagliato l'implementazione dell'iterator...infatti non so come scrivere la funzione next


C'č qualcuno che potrebbe darmi una dritta?
Grazie a chi mi risponderā.

Samuele_70
01-05-2007, 00:35
In un' altra (http://forum.html.it/forum/showthread.php?threadid=1115857) discussione, un altro utente a postato un esempio.
( forse state svolgendo lo stesso compito :D )

LiLyblack
01-05-2007, 15:32
Eh eh quel main mi sembra familiare... :D
Dō un'occhiata, grazie per la segnalazione!

-LiLy-

Loading