martes, 5 de febrero de 2013

metodo shell en java

public List<Integer> metodoShell( ){
            int salto = lista.size( );

            while( salto != 1){
                      salto /=2;
                      int c=1;
    
                      while( c==1){
                               c=0;
                               for(int i=0; i<lista.size( )-salto; i++){
                                        if(lista.get(i) > lista.get(i + salto)){
                                               int aux = lista.get(i);
                                               lista.set(i , lista.get(i+salto));
                                               lista.set(i+salto , aux);
                                               c=1;
                                        }                   
                               }
                      }
            }
             return lista;
}