Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/11/2011, 22:05
cuent
 
Fecha de Ingreso: noviembre-2011
Mensajes: 2
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: metodo ordenar para la clase lista

Hola realizado la solucion ordenando de menor a mayor..!!


Código PHP:
    void Ordenar(){
        
Nodo recorrer=iniciocomparar;
        for(
int i=0;i<tamano-1;i++){
            
comparar=recorrer.getSiguiente();
            for(
int j=i+1;j<tamano;j++){
                if(
recorrer.getObjeto().toString().compareTo(comparar.getObjeto().toString())>0){
                    
Nodo aux=comparar;
                    
comparar=recorrer;
                    
recorrer=aux;                 

                    if(
j-i==1){
                        
Nodo recorrerAnt=comparar.getAnterior(),compararSig=recorrer.getSiguiente();
                        
recorrer.setAnterior(comparar.getAnterior());
                        
comparar.setSiguiente(recorrer.getSiguiente());
                        
comparar.setAnterior(recorrer);
                        
recorrer.setSiguiente(comparar);

                        
recorrerAnt.setSiguiente(recorrer);
                        
compararSig.setAnterior(comparar);

                    }
                    else{
                        
Nodo recorrerAnt=comparar.getAnterior(),recorrerSig=comparar.getSiguiente();
                        
Nodo compararAnt=recorrer.getAnterior(),compararSig=recorrer.getSiguiente();

                        
recorrer.setSiguiente(recorrerSig);
                        
recorrer.setAnterior(recorrerAnt);

                        
comparar.setSiguiente(compararSig);
                        
comparar.setAnterior(compararAnt);

                        
recorrerAnt.setSiguiente(recorrer);
                        
recorrerSig.setAnterior(recorrer);

                        
compararAnt.setSiguiente(comparar);
                        
compararSig.setAnterior(comparar);
           

                    }
                }

              
comparar=comparar.getSiguiente();
            }
            
recorrer=recorrer.getSiguiente();
        }
    }