Ragazzi vi posto un attimo le due strutture utilizzate per il grafo.
Il grafo in questione è implementato tramite liste di adiacenza.

codice:
struct e{
	void *key;
	struct e *next;	//puntatore al prossimo elemento della lista di adiacenza
};
typedef struct e edge ( struttura del nodo)


struct g{
	int nv; //numero vertici grafo
	edge **adj; //lista di tutti i vertici
	int allocati; //numero locazioni allocate
};
typedef struct g grafo;
Adesso vi pongo il problema, se ad un certo punto io voglio modificare il valore di un nodo del grafo, e questo nodo è presente in diverse liste di adiacenza si presume che alla modifica nell'array del vertice corrisponda una modifica a tutti i vertici che rappresentano il medesimo nelle liste ( la modifica è intesa come modifica della chiave). Quindi in pratica la miglior soluzione sarebbe la seguente:
Ogni volta che si inserisce un arco e quindi automaticamente un vertice in una lista di adiacenza, ci deve essere un collegamento tra la sua chiave e quella del vertice medesimo presente nell'array. Ho provato in diversi modi, qual'è la giusta istruzione per avere questo collegamento logico tra queste due informazioni, considerando anche la key è un puntatore a Void ? Grazie mille, spero di essere stato chiaro