Sembra che funzioni!
Grazie menphisx !
E' che mi intreccio un po' con i puntatori
La funzione dovrebbe prendere in pasto il numero di vertici del grafo collegarli in successione:
tipo: 1->2->3->...->NULL
restituire un puntatore al primo vertice..
l'ho corretta così:
codice:
/*
* Crea grafo
*/
inizio_grafo_p = crea_grafo(numero_vertici_grafo, 1);
codice:
/*
* definizione funzione CREA VERTICI
*/
vertice_grafo_t *crea_grafo (int numero_vertici_grafo,
int valore_primo_vertice)
{
vertice_grafo_t *vertice_p = NULL;
if(numero_vertici_grafo == 1)
{
vertice_p = (vertice_grafo_t *) malloc (sizeof(vertice_grafo_t)); /* Crea vertice */
vertice_p->valore = valore_primo_vertice; /* Imposta valore vertice corrente */
vertice_p->colore = bianco; /* Imposta colore vertice corrente */
crea_archi(); /* Crea adiacenze*/
vertice_p->vertice_succ_p = NULL;
}
else
{
vertice_p = (vertice_grafo_t *) (sizeof(vertice_grafo_t)); /* Crea vertice */
vertice_p->valore = valore_primo_vertice; /* Imposta valore vertice corrente */
vertice_p->colore = bianco; /* Imposta colore vertice corrente */
crea_archi(); /* Crea adiacenze*/
vertice_p->vertice_succ_p = crea_grafo(numero_vertici_grafo-1, valore_primo_vertice + 1);
}
return(vertice_p);
}
Giusto? o no?