Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
 public void ProcurarMin(CelulaArvore celula)
 {
     if (celula != null)
     {
         MINVALUE = celula.CONTEUDO.Fluxo;
         ProcurarMin(celula.DIREITO);
     }
 }
Esempio n. 3
0
 public void ProcurarMax(CelulaArvore celula)
 {
     if (celula != null)
     {
         MAXVALUE = celula.CONTEUDO.Fluxo;
         ProcurarMax(celula.ESQUERDO);
     }
 }
Esempio n. 4
0
 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);
 }
Esempio n. 5
0
 public void PreOrdem(CelulaArvore celula)
 {
     if (celula != null)
     {
         MostrarConteudo(celula);
         percorrerPilha(celula);
         PreOrdem(celula.DIREITO);
         PreOrdem(celula.ESQUERDO);
     }
 }
Esempio n. 6
0
 public void inserir(FluxoVeiculos elemento)
 {
     if (RAIZ == null)
     {
         RAIZ = new CelulaArvore(elemento);
     }
     else
     {
         inserir(RAIZ, elemento);
     }
 }
Esempio n. 7
0
 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);
         }
     }
 }
Esempio n. 8
0
        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();
        }
Esempio n. 9
0
 public void percorrerPilha(CelulaArvore celula)
 {
     celula.PILHA.MOSTRAR_ELEMENTOS_PILHA();
 }