#include <iostream>
using namespace std;//<--------No eh podido entender para que sirve esto del namespace
class string
{
char String [20];
//friend class grafo;
};
class arco;
class vertice //Clase que define la estructura de los vertices.
{
/*vertice(string name = "", vertice *sig = NULL, arco next = NULL)
{
sigv = sig;
sigarco = next;
nombre = name;
ubicacion = "";
}*/ //TENGO PROBLEMAS AQUI CON LOS CONSTRUCTORES DE LAS CLASES,¿QUE ESTOY HACIENDO MAL?
// Y POR ESO TENGO A TODOS MIS CONSTRUCTORES DE CLASES COMENTADOS.
//private:
int llave;
vertice *sigv;
arco *sigarco;
string nombre; // AQUI Y
string ubicacion; //AQUI ESTAN DOS ERRORES QUE NO COMPRENDO.
friend class grafo;
};
typedef vertice *pvertice;
class arco //Clase que define la estructura del arco o arista.
{
/*arco(int p, int b, int d, arco siga = NULL)
{ //ESTE SEGMENTO ESTA COMENTADO PORQUE ALGO ESTOY HACIENDO MAL AQUI, NO ME SIRVE
peso = p;
sigArco = siga;
backbond = b;
distancia = d;
}*/
//private:
int peso;
arco *sigArco;
int backbond;
int distancia;
friend class grafo;
};
typedef arco *p_arco;
class grafo
{
/*grafo()
{
privertice = vertice_act = NULL;
priarco = arco_act = NULL;
}*/
//~grafo(); //NO COMPRENDO BIEN LA FUNCION DE UN DESTRUCTOR DE LA CLASE
public:
void menu_principal();
void nuevo_vertice();
void nuevo_Arco();
void modif_Arco();
void modif_vertice();
void arbol_de_expancion_minima();
void Imprimir_grafo_en_amplitud();
void Imprimir_grafo_en_profundidad();
void grados_de_cada_vertice
void grado_Interno();
void grado_Externo();
void rutas_alternativas();
void rutas_mas_directas();
void Backbone();
void vertices_conexos();
private:
pvertice privertice;
pvertice vertice_act;
p_arco priarco;
p_arco arco_act;
};