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à.