Salve a tutti! Sto provando a svolgere degli esercizi sulle liste, e a quanto pare non riesco ad effettuare l'eliminazione degli elementi.
L'esercizio chiede di eliminare dalla lista ogni elemento la cui distanza dal precedente sia minore di K, in cui K è un intero che viene passato alla funzione.
Questo è il codice che ho scritto, e che ovviamente non funziona:
codice:void lista::distanzak(int k){ nodo *p,*prec,*del; p=l; while (p->succ!=0){ prec=p; p=p->succ; if ((p->valore<(prec->valore-k))|| (p->valore>(prec->valore+k))){ del=p; p=p->succ; delete del; }else p=p->succ; } }

Rispondi quotando