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
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