NodoArbol - Algoritmos - Lucas Silvera
unknown
java
4 years ago
1.6 kB
5
Indexable
package Sem2; public class NodoArbol { private int valor; private NodoArbol nodoIzq; private NodoArbol nodoDer; public NodoArbol(int valor) { this.valor = valor; this.nodoIzq = null; this.nodoDer = null; } public int getValor() { return valor; } public void setValor(int valor) { this.valor = valor; } public NodoArbol getNodoIzq() { return nodoIzq; } public NodoArbol getNodoDer() { return nodoDer; } public void insertar (int _valor) { /* Este es un caso interesante y creo vale la pena explicarlo, acá estamos usando recursividad para crear nuevos nodos, cuándo uno de los nodos, cada nodo * está compuesto por un valor y otros dos nodos vacíos, acá con estos if y else detectamos si el nuevo valor que vamos a insertar debe ir a la izq o derecha * dependiendo si es mayor o menor, una vez encuentra su camino, verifica si está vacío el nodo, en caso de estarlo, se inserta ahí, en caso de no estarlo * vuelve a llamar a la función insertar pero esta vez dicha función se ejecuta en el nodo en el que estamos parados y así sucesivamente hasta que * encuentra un nodo vacío para insertar los nuevos valores */ if(_valor < this.valor) { //Insertamos en el lado izq. if(this.nodoIzq == null) { this.nodoIzq = new NodoArbol (_valor); }else { this.nodoIzq.insertar(_valor); } }else { //Insertamos en el lado derecho. if(this.nodoDer == null) { this.nodoDer = new NodoArbol (_valor); } else { this.nodoDer.insertar(_valor); } } } }
Editor is loading...