[C] Eliminare un elemento da una lista

drag4589019

Nuovo Utente
21 Mag 2010
1
0
0
Ciao a tutti.
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
 

Discussioni simili