Ejemplo n.º 1
0
        public void Inserir(int valor)
        {
            ArvoreBinaria newNo = new ArvoreBinaria();

            newNo.setValor(valor);
            if (Root.getAnterior == null && root.getValor == null)
            {
                root.setValor(valor);
                root.setDireita(null);
                root.setEsquerda(null);
            }
            else
            {
                ArvoreBinaria aux = BuscarInsercao(valor);
                if (aux == null)
                {
                    Console.WriteLine("Valor existente - " + valor);
                }
                else
                {
                    if (valor > aux.getValor)
                    {
                        aux.setDireita(newNo);
                        newNo.setAnterior(aux);
                    }
                    else
                    {
                        aux.setEsquerda(newNo);
                        newNo.setAnterior(aux);
                    }
                }
            }
            quantidade++;
        }
Ejemplo n.º 2
0
 public void SubstituirPaiNo(ArvoreBinaria no)
 {
     if (no == no.getAnterior.getEsquerda)// se for o nó esquerdo
     {
         no.setAnterior(no.getAnterior.getAnterior);
         no.getAnterior.setEsquerda(no);             // o filho esquerdo do pai vira null
     }
     else if (no == no.getAnterior.getDireita)       // se for o nó direito
     {
         no.setAnterior(no.getAnterior.getAnterior); // o filho direito do pai vira null
         no.getAnterior.setDireita(no);
     }
 }