/// <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(); }
/// <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); } }
/// <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); } } }
/// <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); }
/// <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)); // :/ }