Ciao a tutti.
Data una lista in C definita come:
devo definire una funzione RICORSIVA che presa in input la lista e un intero
(
prototipo della funzione:
Lista_str elimina(Lista l,int val)
)
se val è uguale al campo valore dell'elemento Elem della lista,lo elimini dalla lista.
(ovviamente sò fare if(val==(Lista->valore)) )
Il mio problema è appunto COME ELIMINARE l'elemento dalla lista con una funzione
RICORSIVA.
La funzione deve essere ricorsiva e la lista NON può essere doppia (anche se sò che
sarebbe molto più semplice).
La funzione "elimina" deve ritornare il puntatore alla testa della lista.
Spero possiate aiutarmi perchè sono "disperato"
ciao e grazie in anticipo
Data una lista in C definita come:
Codice:
typedef struct elem {
int valore;
struct elem * next; /* puntatore al successivo elemento */
} Elem;
typedef Elem * Lista; /* Puntatore all'elemento corrente della lista */
devo definire una funzione RICORSIVA che presa in input la lista e un intero
(
prototipo della funzione:
Lista_str elimina(Lista l,int val)
)
se val è uguale al campo valore dell'elemento Elem della lista,lo elimini dalla lista.
(ovviamente sò fare if(val==(Lista->valore)) )
Il mio problema è appunto COME ELIMINARE l'elemento dalla lista con una funzione
RICORSIVA.
La funzione deve essere ricorsiva e la lista NON può essere doppia (anche se sò che
sarebbe molto più semplice).
La funzione "elimina" deve ritornare il puntatore alla testa della lista.
Spero possiate aiutarmi perchè sono "disperato"

ciao e grazie in anticipo