Arvore Costurada - JAVA

1315 palavras 6 páginas
package Domínio;

/* * AUTOR: * * ROBERTO QUEIROZ * */

public class Arvore {

No raiz;

/** * METODO CONSTRUTOR DA CLASSE */ // public Arvore() { // // raiz = new No(); // raiz.setDireita(raiz); // raiz.setEsquerda(raiz); // raiz.setCosturaesq(true); // raiz.setChave(Integer.MAX_VALUE); // // } /* * METODO INSERIR */ public void inserir(int valor) {

if(raiz == null) {

//CRIANDO A RAIZ (INSERINDO O PRIM ELEMENTO) raiz = new No(); raiz.setDireita(raiz); // PONTEIRO DIREITO raiz.setEsquerda(raiz); // PONTEIRO ESQUERDO raiz.setCosturaesq(true); //um elemento sozinho sempre tem costura - COSTURA ESQ = TRUE raiz.setCosturadir(true); // COSTURA DIREITA = TRUE raiz.setChave(valor); //GRAVANDO O VALOR NA RAIZ System.out.println("Inserido [" + valor + "] na Raiz!"); } else { No p = raiz; // (P É UM TEMPORARIO)

for (;;) {

if (p.getChave() < valor) { //COMPARAÇÃO DO VALOR A SER INSERIDO COM O VALOR RAIZ

if (p.ehCosturadir()) { // SE É TRUE, ESSA RAIZ TEM COSTURA PELA DIR, OU SEJA , HÁ // VAGA PARA INSERÇÃO E SERA INSERIDO LA. break; //SAIU DO FOR } /* p vai receber o proximo da direita*/ p = p.getDireita(); //TORNA O FILHO DIREITO UMA "RAIZ"

} else if (p.getChave() > valor) { /* Se o valor verdadeiro continua... se for falso sai do for */ if (p.ehCosturaesq()) { break; } /* p vai receber o proximo da esquerda*/ p = p.getEsquerda(); } else { System.out.println("Elemento já existe"); return;

}

} //criando um NO que vai receber o valor inserido No no = new No(); // setando o valor no NÓ no.setChave(valor); /* Boleanos da costura recebem verdadeiro pois * sao folhas e terão costuras */ no.setCosturadir(true); no.setCosturaesq(true); /* * P É O ELEMENTO QUE

Relacionados

  • ARVORES CUSTURADAS
    373 palavras | 2 páginas
  • Indonésia
    8162 palavras | 33 páginas
  • streams
    14884 palavras | 60 páginas
  • A Historia Secreta Da Raca Huma Michael Cremo
    114273 palavras | 458 páginas
  • O Maior Espet culo da Terra As Evid ncias da Evolu o DAWKINS sd
    131093 palavras | 525 páginas
  • Pesquisa de atividade
    9506 palavras | 39 páginas
  • Introdu o Pesquisa Operacional Hil hellip
    460554 palavras | 1843 páginas
  • Dicionário
    239464 palavras | 958 páginas
  • COLAPSO JARED DIAMOND
    226855 palavras | 908 páginas
  • Engenharia
    177534 palavras | 711 páginas