示例#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();
        }
示例#2
0
 /// <summary>
 /// Salva as arestas no arquivo de arestas
 /// </summary>
 private void SalvarArestas()
 {
     using (var arq = new ArquivoRegistro <Aresta <Cidade> >("arestas.dat", FileMode.Create))
         foreach (Aresta <Cidade> aresta in arestas)
         {
             arq.Escrever(aresta);
         }
 }
示例#3
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);
                }
            }
        }
示例#4
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);
        }
示例#5
0
 /// <summary>
 /// Salva as cidades no arquivo de cidades
 /// </summary>
 private void SalvarCidades()
 {
     using (ArquivoRegistro <Cidade> arq = new ArquivoRegistro <Cidade>("cidades.dat", FileMode.Create))
         cidades.PercorrerEmOrdem((Cidade cid) => arq.Escrever(cid));    // :/
 }