domingo, 3 de octubre de 2010

Matriz Ortogonal, Estructura de Datos en Java


una matriz ortogonal es una estructura de datos que implementa una tabla con memoria dinámica, se puede buscar o recorrer por uno de los dos aspectos de orden, en este ejemplo en particular, la tabla almacena Vehículos, y las filas representan las marcas de los vehículos y las columnas representan los modelos.

codigo fuente del Nodo de la Matriz Ortogonal

public class NodoMatriz {
//Direccionamiento de la matriz con el movimiento de los nodos...
    private NodoMatriz mArriba = null;
    private NodoMatriz mAbajo = null;
    private NodoMatriz mDerecha = null;
    private NodoMatriz mIzquierda = null;
    
    private String mMarca = "";
    private int mModelo = 0;
    
    private ListaCarro mElementos = null;
    
    public NodoMatriz(){
        //Constructor
    }
        //Los set y gets...
    public void setMarca(String pMarca){
        mMarca = pMarca;
    }
    
    public String getMarca(){
        return mMarca;    
    }
    
    public void setModelo(int pModelo){
        mModelo = pModelo;
    }
    
    public int getModelo(){
        return mModelo;
    }
    
        
    public void dPrint(){
        if(mElementos != null){
            mElementos.dPrint();
        }
    }
    //agragar los carros...pero como nodos.. nodo donde estan los datos mElementos
    //nodo donde esta el modelo
    //nodo donde esta la marca
    public void agregarCarro(Carro pCarro){
        
        if(pCarro == null){
            return;
        }
        
        if(mElementos == null){
            mModelo = pCarro.getModelo();
            mMarca = pCarro.getMarca();
            mElementos = new ListaCarro();
        }
        
        mElementos.insertarCarro(pCarro);
    }
    
    //set y gets....
    public void setElementos(ListaCarro pElementos){
        mElementos = pElementos;
    }
    
    public ListaCarro getElementos(){
        return mElementos;
    }
    
    public void setArriba(NodoMatriz pArriba){
        mArriba = pArriba;
    }
    
    public void setAbajo(NodoMatriz pAbajo){
        mAbajo = pAbajo;
    }
    
    public void setDerecha(NodoMatriz pDerecha){
        mDerecha = pDerecha;
    }
    
    public void setIzquierda(NodoMatriz pIzquierda){
        mIzquierda = pIzquierda;
    }
    
    public NodoMatriz getArriba(){
        return mArriba;
    }
    
    public NodoMatriz getAbajo(){
        return mAbajo;
    }
    
    public NodoMatriz getDerecha(){
        return mDerecha;
    }
    
    public NodoMatriz getIzquierda(){
        return mIzquierda;
    }

}


Descargar Codigo Fuente