Exemple #1
0
    void removerPaiDeUm(NoArvore no)
    {
        var pai   = BuscarPaiDe(no);
        var filho = no.HaDireita()?
                    no.Direita():
                    no.Esquerda();

        if (pai.Esquerda() == no)
        {
            pai.Esquerda(filho);
        }
        else
        {
            pai.Direita(filho);
        }
    }     // fim removerPaiDeUm
Exemple #2
0
    int contar(Stack <NoArvore> nos, int contagem)
    {
        while (nos.Count != 0)
        {
            NoArvore no = nos.Pop();
            contagem++;

            if (no.HaEsquerda())
            {
                nos.Push(no.Esquerda());
            }
            if (no.HaDireita())
            {
                nos.Push(no.Direita());
            }
        }
        return(contagem);
    }     // fim contar