Sunteți pe pagina 1din 10

public static void main(String[] args) {

// TODO code application logic here

Arbol arbol=new Arbol();

arbol.insertar(9); arbol.insertar(8); arbol.insertar(6); arbol.insertar(7);


arbol.insertar(5); arbol.insertar(3); arbol.insertar(4);

arbol.mostrar();

Lista lista=arbol.crearlista();

System.out.println("Lista Creada a partir del arbol: ");

lista.mostrar();

ListaDoble listal=arbol.crearL();

listal.mostrar();

Cola cola = arbol.crearcola();

System.out.println("Cola creada con los nodos hojas del arbol: ");

cola.mostrar();

}//donde van las funciones?

public class Arbol {

private NodoArbol raiz;

public Arbol(NodoArbol raiz) {

this.raiz = raiz; }

public Arbol() { }

public boolean esvacio() { return raiz == null; }

public void insertar(int info) {

NodoArbol nodo = new NodoArbol(info);

NodoArbol padre = null;

NodoArbol aux = raiz;

if (esvacio()) {

raiz = nodo;
} else {

while (aux != null && aux.getValor() != info) {

padre = aux;

if (info < aux.getValor()) { aux = aux.getIzq(); }

else { aux = aux.getDer();}

if (aux == null) {

if (info < padre.getValor()) { padre.setIzq(nodo); }

else { padre.setIzq(nodo); }

} } }

private void mostrar(NodoArbol n) {

if (n == null) { return; }

else { mostrar(n.getIzq());

System.out.println(n.getValor());

mostrar(n.getDer());

} }

public void mostrar() { mostrar(raiz); }

private boolean eshoja(NodoArbol nodo) {

if (nodo.getIzq() == null && nodo.getDer() == null) { return true; }

else { return false; }

public void eshoja() { eshoja(raiz); }


private Lista crearlista(NodoArbol n, Lista lista) {

if (n != null) {

lista.Adicionar(n.getValor());

crearlista(n.getIzq(), lista);

crearlista(n.getDer(), lista);

return lista;

public Lista crearlista() {

Lista lista = new Lista();

if (raiz == null) { return lista; }

else { crearlista(raiz, lista);

return lista; }

private Cola crearcola(NodoArbol n, Cola cola) {

if (n != null) {

crearcola(n.getIzq(), cola);

crearcola(n.getDer(), cola);

if (eshoja(n)) { cola.insertar(n.getValor()); }

return cola;

public Cola crearcola() {

Cola cola = new Cola();

if (raiz == null) { return cola; }


else { crearcola(raiz, cola); return cola; }

private ListaDoble crearL(NodoArbol n, ListaDoble lista, Pila pila) {

if (n != null) {

crearL(n.getIzq(), lista, pila);

if (eshoja(n)) { crearL().insertaralfinal(n.getValor()); }

else{ pila.push(n.getValor()); }

crearL(n.getDer(), lista, pila);

return lista;

public ListaDoble crearL() {

Pila pila=new Pila();

ListaDoble lista = new ListaDoble();

if (raiz == null) { return lista; }

else { crearL(raiz, lista, pila);

while(!pila.esvacia()){ lista.insertaralfinal(pila.pop()); }

return lista;

} } }

public class NodoArbol {

private int valor;

private NodoArbol izq;

private NodoArbol der;

public NodoArbol() { }
public NodoArbol(int valor, NodoArbol izq, NodoArbol der) {

this.valor = valor;

this.izq = izq;

this.der = der; }

public NodoArbol(int valor) { this.valor = valor; }

public int getValor() { return valor; }

public void setValor(int valor) { this.valor = valor; }

public NodoArbol getIzq() { return izq; }

public void setIzq(NodoArbol izq) { this.izq = izq; }

public NodoArbol getDer() { return der; }

public void setDer(NodoArbol der) { this.der = der; }

public class NodoLista {

private int inf;

private NodoLista prox;

public NodoLista() { }

public NodoLista(int inf) { this.inf = inf; }

public NodoLista(int inf, NodoLista prox) {

this.inf = inf; this.prox = prox; }

public int getInf() { return inf; }

public void setInf(int inf) { this.inf = inf; }

public NodoLista getProx() { return prox; }

public void setProx(NodoLista prox) { this.prox = prox; }

public class Cola {

private NodoCola frente;


private NodoCola fondo;

public Cola() { }

public Cola(NodoCola frente, NodoCola fondo) {

this.frente = frente;

this.fondo = fondo; }

public NodoCola getFrente() { return frente; }

public void setFrente(NodoCola frente) { this.frente = frente; }

public NodoCola getFondo() { return fondo; }

public void setFondo(NodoCola fondo) { this.fondo = fondo; }

public boolean esvacia(){ return frente==null; }

public void insertar(int p){

NodoCola nodo=new NodoCola(p);

if(fondo==null){

fondo=nodo;

frente=fondo; }

NodoCola anterior=null;

NodoCola aux=frente;

while(aux != null && aux.getInf()!=p){

anterior=aux;

aux=aux.getProx(); }

if(aux==null){

anterior.setProx(nodo);

fondo=nodo; }

else{ nodo.setProx(aux);

if(aux==frente){ frente=nodo; }
else { anterior.setProx(nodo); }

} }

public void mostrar(){

NodoCola aux= frente;

while(aux!=null){

System.out.println(aux.getInf());

aux=aux.getProx();

} } }

public class NodoCola {

private int inf;

private NodoCola prox;

public NodoCola() { }

public NodoCola(int inf) { this.inf = inf; prox=null; }

public NodoCola(int inf, NodoCola prox) {

this.inf = inf; this.prox = prox; }

public int getInf() { return inf; }

public void setInf(int inf) { this.inf = inf; }

public NodoCola getProx() { return prox; }

public void setProx(NodoCola prox) { this.prox = prox; }

public class Pila {

private NodoPila tope;

public Pila() { }

public Pila(NodoPila tope) { this.tope = tope; }


public NodoPila getTope() { return tope; }

public void setTope(NodoPila tope) { this.tope = tope; }

public boolean esvacia(){ return tope==null; }

public void push(int inf){ tope=new NodoPila(inf, tope); }

public int pop(){

if(esvacia()){ return 0; }

else{

NodoPila temp=tope;

tope=temp.getProx();

return temp.getInf();

} } }

public class NodoPila {

private int inf;

private NodoPila prox;

public NodoPila() { }

public NodoPila(int inf) { this.inf = inf; }

public NodoPila(int inf, NodoPila prox) {

this.inf = inf;

this.prox = prox; }

public int getInf() { return inf; }

public void setInf(int inf) { this.inf = inf; }

public NodoPila getProx() { return prox; }

public void setProx(NodoPila prox) { this.prox = prox; }

public class ListaDoble {

private NodoListaDoble cab;


public ListaDoble() { }

public ListaDoble(NodoListaDoble cab) { this.cab = cab; }

public NodoListaDoble getCab() { return cab; }

public void setCab(NodoListaDoble cab) { this.cab = cab; }

public boolean esvacia(){ return cab==null; }

public void insertaralinicio(int info) {

NodoListaDoble nodo = new NodoListaDoble(info);

if (esvacia()) { cab = nodo; }

else {

nodo.setProx(cab);

nodo.getProx().setAnte(nodo);

cab = nodo; } }

public void insertaralfinal(int info) {

if (esvacia()) { insertaralinicio(info); }

NodoListaDoble nodo = new NodoListaDoble(info);

NodoListaDoble actual = cab;

while (actual.getProx() != null) {

actual = actual.getProx();

nodo.setAnte(actual);

actual.setProx(nodo);

public void mostrar() {

if (esvacia()) { System.out.println("vacía"); return; }


------------------------------------------------------------------------------------------------------------------------------
--------

NodoListaDoble actual = cab;

while (actual != null) {

System.out.print(actual.getInf()+ " ");

actual = actual.getProx();

System.out.println();

public class NodoListaDoble {

private int inf;

private NodoListaDoble prox;

private NodoListaDoble ante;

public NodoListaDoble() { }

public NodoListaDoble(int inf) { this.inf = inf; }

public NodoListaDoble(int inf, NodoListaDoble prox, NodoListaDoble ante) {

this.inf = inf;

this.prox = prox;

this.ante = ante; }

public int getInf() { return inf; }

public void setInf(int inf) { this.inf = inf; }

public NodoListaDoble getProx() { return prox; }

public void setProx(NodoListaDoble prox) { this.prox = prox; }

public NodoListaDoble getAnte() { return ante; }

public void setAnte(NodoListaDoble ante) { this.ante = ante; }

S-ar putea să vă placă și