Grafos en c++

Solo disponible en BuenasTareas
  • Páginas : 2 (349 palabras )
  • Descarga(s) : 0
  • Publicado : 1 de junio de 2011
Leer documento completo
Vista previa del texto
// Para acceder a las funciones de la biblioteca estandar de C++ ...
#include // ... para tener acceso a cout, cin, endl
#include // ... para tener acceso a la clase string
#include // ...para tener acceso a NULL, system y exit

// Para no tener que utilizar "std::", por ejemplo "std::cout", "std::cin", etc.
using namespace::std;

// Constantes utilizadas para el estado del arco(desconectado) y vertice (marcado o no)
const int DESCONECTADO = -1;
const int MARCADO = 1;
const int DESMARCADO = 0;

// La informacion de cada vertice se almacena en una estructura de tipo:
structInfo {
char nombre;
int marcado;
};

// Estructura para almacenar todos los componentes de un grafo
struct Grafo {
int** mat;
int num_vertices;

Info* info;
};

// Estructura desoporte para el proceso de arcos (vertice origen y vertice destino)
struct Arco {
int a;
int b;
};

// Declaraciones de todas las funciones utilizadas en el programa
int CostoArco(Grafo g,Arco arco);
void DesmarcarGrafo(Grafo g);
void DesmarcarVertice(Grafo g);
int* Dijkstra (Grafo g, int v);
void ElimArco(Grafo g);
void ImprimirCaminosMinimos(Grafo g);
void ImprimirMatriz(Grafo g);void ImprimirVertices(Grafo g);
void InfoVertice(Grafo g);
Grafo InicGrafo(int num_vertices);
void InsArco(Grafo g);
Grafo InsVertice(Grafo g, Info info);
void LibGrafo(Grafo g);
voidListarSucesores(Grafo g);
bool MarcadoVertice(Grafo g, int vertice);
void MarcarVertice(Grafo g, int vertice);
void OrdenGrafo(Grafo g);
int SiguienteVertice(Grafo g, int costo[]);

Arco ObtArco(intnum_arcos);
int ObtVertice(int num_arcos);

// Funcion principal del programa, presenta el menu y delega las operaciones a las demas funciones
int main()
{
Grafo g; // El grafo utilizado enel programa
Info info; // La informacion sobre el vertice
Arco arco; // El arco a procesar
int vertice; // El vertice a procesar

string linea; // La opcion del usuario como una...
tracking img