#include #include #include "graph.h" /* EXEMPLO DE UM GRAFO (matriz de adjacência) */ AMGraph ex1 = { 6 , // Num. Vértices { {1,0,0,1,0,1}, {0,1,0,0,1,0}, {0,0,0,1,0,0}, {1,0,0,0,1,0}, {0,0,0,1,1,1}, {0,0,1,0,0,0} } }; int main () { AMGraph g1; ALGraph g2; int v1,v2; ALNode *aux; //utiliza grafo de teste... g1 = ex1; show_am(g1); //inverte grafo g1=converse_am(g1); show_am(ex1); //converte para listas de adjacência g2 = am2al(g1); show_al(g2); //torna a converter para matrizes... g1=al2am(g2); show_am(g1); //Determina antecessores e sucessores printf("\nVértice v1="); scanf("%d",&v1); printf("\nPredecessores de %d: ",v1); aux = preds_al(g2,v1); showList(aux); freeList(aux); printf("\nSucessores de %d: ",v1); aux = sucs_al(g2,v1); showList(aux); freeList(aux); // printf("\nVértice v2="); scanf("%d",&v2); printf("\nCaminho de %d para %d: ",v1,v2); aux = daCaminho_al(g2,v1,v2); if (aux!=NULL) showList(aux); else printf(" não existe... "); freeList(aux); printf("\n"); return 0; }