-
Notifications
You must be signed in to change notification settings - Fork 0
/
graph.h
31 lines (26 loc) · 909 Bytes
/
graph.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef GRAFO1_GRAPH_H
#define GRAFO1_GRAPH_H
typedef struct aresta{
int dest; // destino do nodo
int peso;
struct aresta *prox;
} Aresta;
typedef struct nodo{
int orig; //origem
struct nodo *prox;
Aresta *adj; // lista de adjacencias
} Nodo;
typedef struct grafo{//descritor
Nodo *list;// lista de nodos
int size; //tamanho da lista
} Grafo;
void criaNodos(Grafo *g, int nodos); //cria lista de nodos com base na primeira linha do arquivo
Aresta *inserirAresta(Aresta *ar, int d, int p); //insere uma aresta numa lista
Grafo* criaGrafo(FILE *fp); // criacao e montagem do grafo
void imprimeGrafo(Grafo *g); //imprime lista adjacencia
void liberar(Grafo *g); //libera memoria
Nodo* buscarNodo(Grafo *g, int v);
int possuiNodo( int *res, int v, int tam);
int* BFS(Grafo *g, int v);
void printBusca(int *res, int tam);
#endif //GRAFO1_GRAPH_H