Foros del Web » Programación para mayores de 30 ;) » Java »

Insercion ordenada en una pila

Estas en el tema de Insercion ordenada en una pila en el foro de Java en Foros del Web. Buenas a todos, tengo que crear una agenda en java , los datos se almacenan en unos nodos con la siguiente estructura: protected DatosPersonales Ficha; ...
  #1 (permalink)  
Antiguo 01/05/2008, 11:53
 
Fecha de Ingreso: diciembre-2007
Mensajes: 36
Antigüedad: 16 años, 4 meses
Puntos: 0
Insercion ordenada en una pila

Buenas a todos, tengo que crear una agenda en java , los datos se almacenan en unos nodos con la siguiente estructura:

protected DatosPersonales Ficha;
protected Nodo Sig;

los datos personales son otra clase dentro del paquete donde almaceno el nombre DNI etc.

La cuestión es que los datos primeros se han de almacenar en una pila para luego grabarla en un fichero .dat

A la hora de realizar la inserción debe de buscar la posición dentro de la agenda en la que le corresponde, el código que tengo es el siguiente:

Código:
public  void insertar(DatosPersonales d){
        
        Nodo aux,corredor; 
        aux=new Nodo(d);
        corredor=primero;
        if (primero==null){
            aux.Sig=primero;
            primero=aux;
            System.out.println("Dato insertado conrrectamente");
        }else{
            while(corredor!=null){
                if (Integer.getInteger(d.DNI)>Integer.getInteger(corredor.Ficha.DNI)){
                    corredor=corredor.Sig;
                }else{
                    // aux = new Nodo(d);
                    aux.Sig=primero;
                    primero=aux;
                    System.out.println("Dato insertado conrrectamente");
                }
                corredor=corredor.Sig;
            }
        }
    }
el código compila bien, el problema es que al tratar de ejecutar me da error de puntero en la linea que os he puesto en negrita y como soy novato no entiendo porque esta dando error porque según mi lógica con corredor.Ficha.DNI estoy accediendo al DNI que esta en la posición en la que se encuentra corredor ¿no?.

A ver si alguien me puede ayudar
Muchas gracias a todos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:26.