Estoy haciendo un trabajo de la U que es nuevo para mi, es sobre arboles y necesito un árbol que me ingrese nombres (String) y este los ordene en Orden Alfabético.
El profesor nos mando un proyecto de "referencia" pero este es para ingresar números enteros
Ustedes serian tan amables de ayudarme?
No se como digerir esto jaja
Aquí les dejo el código esta en Netbeans
Código:
package examen2; import javax.swing.JOptionPane; /** * * @author StevenHause */ public class Examen2 { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Arbol arbol = new Arbol(); Arbol arbolito = new Arbol(); int valor; String Dato; int numero=0; Dato = JOptionPane.showInputDialog("Escriba Un Numero"); valor = Integer.parseInt(Dato); numero=valor; while (numero>=0){ System.out.print(valor + " "); int aux=0,i; for(i=1;i<(numero+1);i++){ if(numero%i==0){ aux++; } } if(aux!=2){ arbol.insertarNodo(valor); } else{ arbolito.insertarNodo(valor); } Dato = JOptionPane.showInputDialog("Escriba Un Numero"); valor = Integer.parseInt(Dato); numero=valor; } System.out.println("\nNumeros Primos\n"); arbolito.recorridoInorden(); System.out.println("\nNumeros Mayores que O\n"); arbol.recorridoInorden(); } }
Código:
package examen2; /** * * @author StevenHause */ public class Nodo { int dato; Nodo nodoIzquierdo; Nodo nodoDerecho; public Nodo (int Nodo) { dato = Nodo; nodoIzquierdo = nodoDerecho = null; } public synchronized void insertar(int valor) { if(valor < dato) { if(nodoIzquierdo == null) nodoIzquierdo = new Nodo(valor); else nodoIzquierdo.insertar(valor); } else if(valor > dato) { if(nodoDerecho == null) nodoDerecho = new Nodo(valor); else nodoDerecho.insertar(valor); } } } class Arbol { private Nodo raiz; public Arbol() { raiz = null; } public synchronized void insertarNodo(int valorInsertar) { if(raiz == null) raiz = new Nodo(valorInsertar); else raiz.insertar(valorInsertar); } public synchronized void recorridoPreorden() { ayudantePreorden(raiz); } private void ayudantePreorden(Nodo nodo) { if(nodo == null) return; System.out.print(nodo.dato + " "); ayudantePreorden(nodo.nodoIzquierdo); ayudantePreorden(nodo.nodoDerecho); } public synchronized void recorridoInorden() { ayudanteInorden(raiz); } private void ayudanteInorden(Nodo nodo) { if(nodo == null) return; ayudanteInorden(nodo.nodoIzquierdo); System.out.print(nodo.dato + " "); ayudanteInorden(nodo.nodoDerecho); } public synchronized void recorridoPosorden() { ayudantePosorden(raiz); } private void ayudantePosorden(Nodo nodo) { if( nodo == null ) return; ayudantePosorden(nodo.nodoIzquierdo); ayudantePosorden(nodo.nodoDerecho); System.out.print(nodo.dato + " "); } }
Muchísimas Gracias por prestarme un poquito de su atención