示例#1
0
        //Permite atravez de una expresion lamda saber si existe o no el vertice
        private bool ExisteVertice(Vertice aBuscar)
        {
            var it = VerticesL.Where(x => x.Nombre == aBuscar.Nombre).FirstOrDefault();

            if (it == null)
            {
                return(false);
            }
            return(true);
        }
示例#2
0
        //Crea una arista entre dos vertices dados
        public void AgregarConexion(Vertice verticeInicial, Vertice verticeFinal, int peso)
        {
            //se crea una nueva arista con los parametros del metodo
            var arista = new Arista(peso, verticeInicial, verticeFinal);

            //Al vertice inicial y final se le avisan sus aristas
            verticeInicial.Aristas.Add(arista);
            verticeFinal.Aristas.Add(arista);

            //Se agregan los vertices y aristas a la lista del grafo para que sepa cuales tiene, se usa ExisteVertice que retorna un bool
            if (!ExisteVertice(verticeInicial))
            {
                VerticesL.Add(verticeInicial);
            }
            if (!ExisteVertice(verticeFinal))
            {
                VerticesL.Add(verticeFinal);
            }
            AristasL.Add(arista);
        }