コード例 #1
0
        private void resultados(List <DijkstraObject> listaDijkstra, Node inicial)
        {
            foreach (DijkstraObject dijkstraObj in listaDijkstra)
            {
                if (dijkstraObj.getPeso() != 1000000000 && dijkstraObj.getPeso() != 0)
                {
                    //origen, destino, peso, recorrido
                    string         recorrido   = "";
                    string         agregar     = "";
                    DijkstraObject proveniente = dijkstraObj;
                    string[]       arrString   = new string[4];
                    arrString[0] = inicial.getCity().getName();
                    arrString[1] = dijkstraObj.getNodo().getCity().getName();
                    arrString[2] = dijkstraObj.getPeso().ToString();

                    while (proveniente.getNodo() != inicial)
                    {
                        agregar    = proveniente.getNodo().getCity().getName();
                        recorrido += agregar;
                        recorrido += "<-";
                        //recorrido.Insert(0, agregar);
                        //recorrido.Insert(0, "->");
                        proveniente = proveniente.getProveniente();
                    }
                    recorrido   += inicial.getCity().getName();
                    arrString[3] = recorrido;
                    ListViewItem items = new ListViewItem(arrString);
                    listViewDijkstra.Items.Add(items);
                }
            }
        }
コード例 #2
0
        private void resultados(List <DijkstraObject> listaDijkstra, Node inicial, string final)
        {
            foreach (DijkstraObject dijkstraObj in listaDijkstra)
            {
                if (dijkstraObj.getPeso() != 1000000000 && dijkstraObj.getPeso() != 0)
                {
                    //origen, destino, peso, recorrido
                    string         recorrido   = "";
                    string         agregar     = "";
                    DijkstraObject proveniente = dijkstraObj;
                    string[]       arrString   = new string[4];
                    arrString[0] = inicial.getCity().getName();
                    arrString[1] = dijkstraObj.getNodo().getCity().getName();
                    arrString[2] = dijkstraObj.getPeso().ToString();

                    while (proveniente.getNodo() != inicial)
                    {
                        agregar     = proveniente.getNodo().getCity().getName();
                        recorrido  += agregar;
                        recorrido  += "<-";
                        proveniente = proveniente.getProveniente();
                    }
                    recorrido   += inicial.getCity().getName();
                    arrString[3] = recorrido;
                    ListViewItem items = new ListViewItem(arrString);
                    if (recorrido.Contains(final))
                    {
                        listViewDijkstra.Items.Add(items);
                        recorridoOD = recorrido;
                        break;
                    }
                }
            }

            if (listViewDijkstra.Items.Count == 0)
            {
                MessageBox.Show("No existe ruta", "Advertencia",
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }