Ciao, devo risolvere il seguente esercizio.
Un grafo G di n nodi, orientato ed etichettato sugli archi da valori interi, può essere rappresentato da una lista di archi etichettati, ossia una lista di terne ordinate di interi (i;j;x),
tali che la coppia (i;j) rappresenta un arco orientato di G e x ne rappresenta l'etichetta.
Scrivere una funzione che, dati in imput un grafo orientato ed etichettato sugli archi da valori interi, rappresentato mediante liste di adiacenza, restituisca il medesimo grafo rappresentato con una lista di archi etichettati.
Ho risolto così:
da questo punto non so continuare, potreste risolverlo così io possa capire.codice:#include <stdlib.h> typedef struct arcoEtic { //liste di adiacenza int v; unsigned etic; struct arcoEtic *next; } *linkEtic; typedef linkEtic *Tipografoetic; typedef struct linkelem *Listagrafoetic; //lista di archi etichettati struct link_elem{ unsigned v1,v2,x; Listagrafoetic next; } Listagrafoetic converti(Tipografoetic g, unsigned numnodi){ int i, j; ........
Mi aiutereste davvero molto perché tra qualche tempo ho l'esame e ancora mi blocco, mi rimane da scorrere le liste di adiacenza e riscrivere la lista di archi etichettati.
Vi ringrazio, ciao

Rispondi quotando