Beispiel #1
0
        /// <summary>
        /// Lê o grafo dos arquivos cidades.dat e arestas.dat
        /// </summary>
        private void LerGrafo()
        {
            grafo = new Grafo <Cidade>();

            using (var arq = new ArquivoRegistro <Cidade>("cidades.dat", System.IO.FileMode.OpenOrCreate))
            {
                Cidade cid;
                while ((cid = arq.LerUm()) != null)
                {
                    grafo.AdicionarVertice(cid);
                }
            }

            using (var arq = new ArquivoRegistro <Aresta <Cidade> >("arestas.dat", System.IO.FileMode.OpenOrCreate))
            {
                Aresta <Cidade> aresta;
                while ((aresta = arq.LerUm()) != null)
                {
                    grafo.AdicionarAresta(aresta);
                }
            }

            canvasGrafo.Invalidate();

            AtualizarComboBoxes();
            lbCaminhos.Items.Clear();
            caminho.Clear();
        }
Beispiel #2
0
        /// <summary>
        /// Lê o arquivo de arestas e monta uma lista com ele
        /// </summary>
        private void LerArestas()
        {
            arestas = new List <Aresta <Cidade> >();

            using (var arq = new ArquivoRegistro <Aresta <Cidade> >("arestas.dat", FileMode.OpenOrCreate))
            {
                Aresta <Cidade> aresta;
                while ((aresta = arq.LerUm()) != null)
                {
                    arestas.Add(aresta);
                }
            }
        }
Beispiel #3
0
        /// <summary>
        /// Lê o arquivo de cidades e monta uma árvore binária de busca com ele
        /// </summary>
        private void LerCidades()
        {
            cidades = new ArvoreBinaria <Cidade>();

            List <Cidade> vetor = new List <Cidade>();

            using (var arq = new ArquivoRegistro <Cidade>("cidades.dat", FileMode.OpenOrCreate))
            {
                Cidade cidade;
                while ((cidade = arq.LerUm()) != null)
                {
                    vetor.Add(cidade);
                }
            }

            Particionar(ref vetor, 0, vetor.Count - 1);
        }