public class Posicion implements Serializable{ protected protected protected protected File info; Posicion hijoIzquierdo; Posicion padre;

Posicion hermanoDerecho;

public Posicion() { } public boolean equals (Posicion o){ if(o==null) return false; //Posicion p=(Posicion)o; return(this==o); } } ////ahora la clase Arbol//// public class Arbol { private Posicion arbol; public Arbol(){ arbol=null; } public boolean vacio() { return (nodoNulo(arbol)); } public Posicion raiz() { return arbol; } public Posicion padre(Posicion posicion) throws ArbolVacioException, NodoNul oException { //Posicion p=(Posicion)posicion; if(vacio()) throw new ArbolVacioException(); if(nodoNulo(posicion))throw new NodoNuloException(); return posicion.padre; } public Posicion hijoIzquierdo(Posicion posicion) throws ArbolVacioException, NodoNuloException { // Posicion p=(Posicion)posicion; if(vacio()) throw new ArbolVacioException(); if(nodoNulo(posicion))throw new NodoNuloException(); return posicion.hijoIzquierdo; } public Posicion hermanoDerecho(Posicion posicion) throws ArbolVacioException , NodoNuloException { //Posicion p=(Posicion)posicion; if(vacio()) throw new ArbolVacioException(); if(nodoNulo(posicion))throw new NodoNuloException(); return posicion.hermanoDerecho; }

if(vacio()) throw new ArbolVacioException(). } else{ aux. aux. aux. if((!vacio())&&(nodoNulo(posicion)))throw new NodoNuloException().info=elemento. aux. posicion.info. RaizException { //Posicion p=(Posicion)posicion. NodoN uloException { //Posicion p=(Posicion)posicion. if(vacio())throw new ArbolVacioException().public File info(Posicion posicion) throws ArbolVacioException. . } public void suprimeHijo(Posicion posicion) throws ArbolVacioException.hijoIzquierdo.padre=posicion.padre=null.info=elemento.hijoIzquierdo=aux. if(vacio())throw new ArbolVacioException(). Posicion aux=new Posicion(). File elemento) throws NodoNuloExc eption { //Posicion p=(Posicion)posicion. if(vacio()) throw new ArbolVacioException(). } } public void suprimeHermano(Posicion posicion) throws ArbolVacioException. aux. aux. aux.padre=posicion. } } public void insertaHermano(Posicion posicion. if(nodoNulo(posicion)) throw new NodoNuloException(). if(posicion==raiz()) throw new RaizException(). posicion. arbol=aux. NodoNuloExce ption { //Posicion p=(Posicion)posicion. Posicion aux=hijoIzquierdo(posicion).hijoIzquierdo=null. aux.hijoIzquierdo=null.padre.hijoIzquierdo=aux. if(nodoNulo(posicion)) throw new NodoNuloException(). if(vacio()){ aux. File elemento) throws ArbolVac ioException. Posicion aux=new Posicion().hermanoDerecho=posicion. if(!nodoNulo(aux)){ while(!nodoNulo(hijoIzquierdo(aux))) suprimeHijo(aux). if(nodoNulo(posicion))throw new NodoNuloException(). NodoNuloException. return posicion. } public void insertaHijo(Posicion posicion. if(nodoNulo(posicion)) throw new NodoNuloException(). posicion.hermanoDerecho=aux.hermanoDerecho.hermanoDerecho.hermanoDerecho=null. aux. No doNuloException { // Posicion p=(Posicion)posicion.hermanoDerecho=posicion.

} } . if(!nodoNulo(aux)){ while(!nodoNulo(hijoIzquierdo(aux))) suprimeHijo(aux). posicion. NodoNuloException { //Posicion p=(Posicion)posicion.info=elemento.hermanoDerecho=aux.hermanoDerecho.Posicion aux=hermanoDerecho(posicion). if(vacio()) throw new ArbolVacioException(). posicion. File elemento) throws ArbolVacioExce ption. if(nodoNulo(posicion))throw new NodoNuloException(). } } public void modifica(Posicion posicion. } public boolean nodoNulo(Posicion posicion) { return (posicion==null).

Sign up to vote on this title
UsefulNot useful