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++; }
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); } }