Errore inserimento nodo in una lista

di il
4 risposte

Errore inserimento nodo in una lista

Salve, sono una studente di Ing. Informatica alle prese per la prima volta con C. Ho un problema su una funzione che non riesco a risolvere. Data una lista di interi, ciò che dovrebbe fare tale funzione è inserire un nodo con valore x dopo ogni nodo che abbia valore y; nel caso non ci fossero nodi con valore y il nodo x va inserito in coda alla lista.
Posto qui di seguito la funzione scritta a me, su cui riscontro il seguente problema: se la mia lista è ad esempio composta da nodi con valore 5-10-4-10-10 e pongo y=10 e x=3, ciò che mi restituisce è 5-10-3-4-10-3. Ovvero inserisce il nodo x (3) solo dopo il primo nodo y e l'ultimo, ignorando eventuali altri nodi y in mezzo. Non riesco a capire dove sbaglio, ringrazio chiunque vorrà aiutarmi
Ho definito così struttura e puntatore al nodo:
typedef struct list{
int info;
struct list* next;
} lista;
typedef lista* plista;


http://pastebin.com/2XTRJVB

4 Risposte

Devi accedere o registrarti per scrivere nel forum
4 risposte