int main(void) { setbuf(stdout, NULL); int dim; printf("GRAFO NON ORIENTATO CON RAPPRESENTAZIONE TRAMITE LISTE DI ADIACENZA \n"); printf("Inserisci il numero di nodi del grafo. \n"); scanf("%d", &dim); printf("Creazione in corso... \n"); collegamento * listaDiAdiacenza = creaLista(dim); stampaListaDiAdiacenza(listaDiAdiacenza, dim); printf("Inserimento dei nodi adiacenti... \n"); creaAdiacenti(listaDiAdiacenza, dim); stampaListaDiAdiacenza(listaDiAdiacenza, dim); printf("Verifica se regolare... \n"); if (verificaRegolare(listaDiAdiacenza, dim)) { printf("Il grafo e' regolare \n"); } else { printf("Il grafo e' irregolare \n"); } printf("Calcolo del grado massimo... \n"); collegamento gradoMassimo = calcolaGradoMassimo(listaDiAdiacenza, dim); printf("Il grado massmo e' %d \n", gradoMassimo->valore); if (gradoMassimo->valore > 0) { printf("La lista dei nodi con questo grado massimo e': "); stampaLista(gradoMassimo->prossimo); } printf("Calcolo dei nodi isolati... \n"); collegamento nodiIsolati = calcolaNodiIsolati(listaDiAdiacenza, dim); printf("Il numero di nodi isolati e' %d \n", nodiIsolati->valore); if (nodiIsolati->valore > 0) { printf("La lista dei nodi isolati e': "); stampaLista(nodiIsolati->prossimo); } return EXIT_SUCCESS; }
int main(int argc, const char * argv[]) { albero s = malloc(sizeof(nodoAlbero)); s->info = 'k'; s->left = malloc(sizeof(nodoAlbero)); s->left->info = 'e'; s->right = malloc(sizeof(nodoAlbero)); s->right->info = 'm'; s->left->left = malloc(sizeof(nodoAlbero)); s->left->left->info = 'b'; s->left->right = malloc(sizeof(nodoAlbero)); s->left->right->info = 'f'; s->left->right->left=NULL; s->left->right->right=NULL; s->left->left->left = malloc(sizeof(nodoAlbero)); s->left->left->left->info = 'a'; s->left->left->left->left = NULL; s->left->left->left->right = NULL; s->left->left->right = malloc(sizeof(nodoAlbero)); s->left->left->right->info = 'c'; s->left->left->right->left = NULL; s->left->left->right->right = NULL; s->right->left = malloc(sizeof(nodoAlbero)); s->right->left->info = 'l'; s->right->left->left = NULL; s->right->left->right = NULL; s->right->right = malloc(sizeof(nodoAlbero)); s->right->right->info = 's'; s->right->right->left = NULL; s->right->right->right = NULL; printf("%d\n", distanza(s, 'k', 'z')); lista l = allocaLista(s, 'k'); stampaLista(l); free(l); free(s); return (0); }