Premesse queste definizioni
codice:
typedef struct EDGE* EDGELIST;
struct EDGE{
NODE nodo1; //primo nodo dell'arco
NODE nodo2; //altro nodo dell'arco
EDGELIST next; //successivi archi
}
Volevo chiedervi se mi potete aiutare con un programma che elimina un arco da un grafo. Questo è il programma che ho in mente io, ma pare non funzionare:
codice:
void deleteArco(EDGELIST* t, NODE x, NODE y){
if ((*t) != NULL) {
if( t->nodo1 == x && t->nodo2 == y){
EDGELIST p = (*t);
(*t) = (*t)->next;
free(p);
}else
deleteArco((*t)->next, x, y);
}
}
Spero possiate trovare qualche minuto del vostro tempo per aiutarmi perchè sono un neofita della programmazione e mi piacerebbe imparare!
Grazie mille