You are on page 1of 7

1 ejercicio arboles

package MEMENTO_MORI;

import javax.swing.JOptionPane;

public class arboles {

int nodoinformacion;

int contadorA = 0;

int contadorB = 0;

int contadorC = 0;

class Nodo {

int informacion;

Nodo zurdo, diestro;

Nodo raiz1;

public arboles() {

raiz1 = null;

public void inserta(int info) {

int cont = 0;

while (cont < info) {

Nodo creado;
creado = new Nodo();

creado.informacion = (int) (Math.random() * 100);

creado.zurdo = null;

creado.diestro = null;

if (raiz1 == null) {

raiz1 = creado;

} else {

Nodo viejo = null, record;

record = raiz1;

while (record != null) {

viejo = record;

if (info < record.informacion) {

record = record.zurdo;

} else {

record = record.diestro;

if (info < viejo.informacion) {

viejo.zurdo = creado;

} else {

viejo.diestro = creado;

cont++;

private void imprimir(Nodo record) {

if (record != null) {
System.out.print(record.informacion + " ");

imprimir(record.zurdo);

imprimir(record.diestro);

public void imprimir2() {

imprimir(raiz1);

System.out.println();

private void imprimirInorden(Nodo record) {

if (record != null) {

imprimirInorden(record.zurdo);

System.out.print(record.informacion + " ");

imprimirInorden(record.diestro);

public void imprimirinorden() {

imprimirInorden(raiz1);

System.out.println();

private void imprimirpost(Nodo reco) {

if (reco != null) {

imprimirpost(reco.zurdo);
imprimirpost(reco.diestro);

System.out.print(reco.informacion + " ");

public void imprimirpost() {

imprimirpost(raiz1);

System.out.println();

private void pospre1(Nodo reco) {

if (reco != null) {

contadorA++;

if (reco.informacion == nodoinformacion) {

System.out.println("la posicion del nodo " + nodoinformacion + " Preorden es " +


contadorA);

pospre1(reco.zurdo);

pospre1(reco.diestro);

public void pospre2(int k) {

nodoinformacion = k;

pospre1(raiz1);

System.out.println();
}

private void posin(Nodo record) {

if (record != null) {

posin(record.zurdo);

contadorB++;

if (nodoinformacion == record.informacion) {

System.out.println("la posicion del nodo " + nodoinformacion + " inorden es " +


contadorB);

posin(record.diestro);

public void posin() {

posin(raiz1);

System.out.println();

private void pospost1(Nodo record) {

if (record != null) {

pospost1(record.zurdo);

pospost1(record.diestro);

contadorC++;

if (nodoinformacion == record.informacion) {

System.out.println("la posicion del nodo " + nodoinformacion + " Postorden es " +


contadorC);

}
}

public void pospost2() {

pospost1(raiz1);

System.out.println();

public static void main(String[] args) {

arboles abo = new arboles();

int n = Integer.parseInt(JOptionPane.showInputDialog("Digite N Nodos"));

abo.inserta(n);

System.out.println("Impresion preorden: ");

abo.imprimir2();

abo.imprimirinorden();

abo.imprimirpost();

int pos = Integer.parseInt(JOptionPane.showInputDialog("digite el nodo del cual saber la


posicion"));

if(pos!=n && pos<=n){

System.out.println("numero no existe en el nodo");

else { System.out.println("El nodo que se digito es: " + pos)

;}

abo.pospre2(pos);

abo.posin();

abo.pospost2();

}
}

You might also like