Example #1
0
 static void PercorrerArvoreInFixado(NoBin nodo)
 {
     if (nodo != null)
     {
         PercorrerArvoreInFixado(nodo.Esquerda);
         Console.Write($"{nodo.Valor}   ");
         PercorrerArvoreInFixado(nodo.Direita);
     }
 }
 private NoBin Inserir(NoBin atual, NoBin novoNo)
 {
     if (atual == null)
     {
         return(novoNo);
     }
     else if (novoNo.Valor.CompareTo(atual.Valor) < 0)
     {
         atual.Esquerda = Inserir(atual.Esquerda, novoNo);
     }
     else
     {
         atual.Direita = Inserir(atual.Direita, novoNo);
     }
     return(atual);
 }
Example #3
0
        /*
         * Implementar um programa que efetue a montagem de uma árvore binária de busca com os
         * seguintes nomes de estados { Acre, Santa Catarina, Goiás, Tocantins, Ceará, Paraná,
         * Bahia, Sergipe e Roraima} e retorne a lista de nomes em ordem alfabética.
         */

        static void Main(string[] args)
        {
            string[] nomesEstados = { "Santa Catarina", "Acre",   "Goiás", "Tocantins",
                                      "Ceará",          "Paraná", "Bahia", "Sergipe", "Roraima" };

            ArvoreBinaria minhaArvore = new ArvoreBinaria();

            foreach (var nomeEstado in nomesEstados)
            {
                NoBin nodeAInserir = new NoBin(nomeEstado);
                minhaArvore.InserirNoBin(nodeAInserir);
            }

            PercorrerArvoreInFixado(minhaArvore.Raiz);
            Console.ReadLine();
        }
 public void InserirNoBin(NoBin novoNo)
 {
     Raiz = Inserir(Raiz, novoNo);
 }