public void inserir(CelulaArvore celula, FluxoVeiculos elemento) { if (elemento.Fluxo < celula.CONTEUDO.Fluxo) { if (celula.DIREITO == null) { celula.DIREITO = new CelulaArvore(elemento); } else { // Console.WriteLine("Inserir({0}) a Direita do Nó({1})", elemento.Fluxo, celula.CONTEUDO.Fluxo); inserir(celula.DIREITO, elemento); } } else if (elemento.Fluxo > celula.CONTEUDO.Fluxo) { if (celula.ESQUERDO == null) { celula.ESQUERDO = new CelulaArvore(elemento); } else { // Console.WriteLine("Inserir({0}) a Esquerda do Nó({1})", elemento.Fluxo, celula.CONTEUDO.Fluxo); inserir(celula.ESQUERDO, elemento); } } else { // Console.WriteLine("Inserir({0}) na pilha do Nó({1})", elemento.Fluxo, celula.CONTEUDO.Fluxo); celula.addPilha(elemento); } }
public void ProcurarMin(CelulaArvore celula) { if (celula != null) { MINVALUE = celula.CONTEUDO.Fluxo; ProcurarMin(celula.DIREITO); } }
public void ProcurarMax(CelulaArvore celula) { if (celula != null) { MAXVALUE = celula.CONTEUDO.Fluxo; ProcurarMax(celula.ESQUERDO); } }
public void MostrarConteudo(CelulaArvore celula) { Console.WriteLine(" ************************ "); Console.WriteLine("|| NÓ FLUXO :{0}", celula.CONTEUDO.Fluxo); Console.WriteLine(" ************************ "); Console.WriteLine(" |---> '1+' Setor:{0} Data:{1} Fluxo:{2}", celula.CONTEUDO.Setor , celula.CONTEUDO.Data , celula.CONTEUDO.Fluxo); }
public void PreOrdem(CelulaArvore celula) { if (celula != null) { MostrarConteudo(celula); percorrerPilha(celula); PreOrdem(celula.DIREITO); PreOrdem(celula.ESQUERDO); } }
public void inserir(FluxoVeiculos elemento) { if (RAIZ == null) { RAIZ = new CelulaArvore(elemento); } else { inserir(RAIZ, elemento); } }
public void MostrarFluxos(CelulaArvore celula, double limite) { if (celula != null) { if (celula.CONTEUDO.Fluxo <= limite) { MostrarFluxos(celula.ESQUERDO, limite); } if (celula.CONTEUDO.Fluxo > limite) { MostrarConteudo(celula); percorrerPilha(celula); MostrarFluxos(celula.DIREITO, limite); MostrarFluxos(celula.ESQUERDO, limite); } } }
public static void OpenFile() { CelulaArvore arvore = new CelulaArvore(); // int numeroSetores = 3; //Numero total de Setores int numerodeRodoviasPorSetor = 3; //Numero de BR's no arquivo string file = @"C:\Users\Vítor Lemos\Desktop\fluxo2.csv"; string rodovia; int dia, setor; int controle = 1; int fluxo = 0; try { StreamReader arquivo = new StreamReader(file); string linha = arquivo.ReadLine(); string[] linhaS = null; Console.WriteLine("************* REGISTROS *****************"); while ((linha = arquivo.ReadLine()) != null) { linhaS = linha.Split(','); fluxo += Convert.ToInt32(linhaS[3]); if (controle == numerodeRodoviasPorSetor) { setor = Convert.ToInt32(linhaS[0]); rodovia = linhaS[1]; dia = Convert.ToInt32(linhaS[2]); arvore.inserir(new FluxoVeiculos(setor, dia, fluxo)); controle = 0; fluxo = 0; } Console.WriteLine("Setor:{0}, Rod:{1}, Data:{2},Fluxo:{3}", linhaS[0], linhaS[1], linhaS[2], linhaS[3]); controle = controle + 1; } arquivo.Close(); } catch (Exception e) { Console.WriteLine(e); } Console.WriteLine("___________________________________________________"); arvore.Percorrer(); arvore.ObterMaxValue(); arvore.ObterMinValue(); arvore.PercorrerArvoreFluxos(); }
public void percorrerPilha(CelulaArvore celula) { celula.PILHA.MOSTRAR_ELEMENTOS_PILHA(); }