Ejemplo n.º 1
0
        void actualiza(elementoDij e_d)
        {
            int posED = 0;

            foreach (Arista a_i in e_d.getVEDJ().getLA())             //< Consigo los adyacentes del elementoDIJK mediante la lista de aristas
            // Si el el destino de la arista da con el elemento, asigno el elemento al nuevo elemento

            {
                posED = buscaElemento(a_i.getDestino().getId());        //< Posicion de mi elemento a actualizar
                elementoDij e_i = elementoDList[posED];                 //< lo asigno a un temporal

                //Si el peso de ti temporal es mayor al nuevo peso lo cambio y lo agrego de nuevo a la lista en la posicion
                if (e_i.getPeso() > (e_d.getPeso() + a_i.getDistancia()))
                {
                    e_i.setPeso((e_d.getPeso() + a_i.getDistancia()));
                    e_i.setVerticeProv(e_d.getVEDJ());
                    elementoDList[posED] = e_i;
                }
            }
        }