Datos personales

lunes, 28 de diciembre de 2009

Metodo De Quick-Sort

Metodo De Quick-Sort

Se basa en el paradigma de divide y venceras, pero usa esta tecnica en forma algo contraria por que todo el trabajo duro se hace antes de las llamadas recursivas.
El ordenamiento rapido ordena una secuencia s en subsecuencias, se hace recursion para ordenar cada subsecuencia y a continuacion se combinan las secuencias ordenada sin mediante una simple concatenacion.


CODIGO DE QUICK-SORT (enteros y flotantes)


ENTEROS

public class quicksort {
public static void qsort(Comparable [] c, int inicio, int fin) {

if(fin<=inicio) return;
Comparable comp=c[inicio];
int i=inicio, j=fin+1;
for(;;){
do i++;while(i do j--;while(j>inicio && c[j].compareTo(comp)>0 );
if (j<=i) break;
Comparable tmp=c[i];
c[i]=c[j];
c[j]=tmp;

}
c[inicio]=c[j];
c[j]=comp;
qsort(c, inicio, j-1);
qsort(c, j+1, fin);
}

public static void qsort(Comparable[] c){
qsort(c, 0, c.length-1);
}
public static void main(String[] args){
int i;
Integer[] arr=new Integer [100];
System.out.println("Elementos aleatorios:");
for(i=0; i arr[i]=new Integer((int)(Math.random()*99));
System.out.print(arr[i]+"");
}

quicksort.qsort(arr);
System.out.println("\nelementos ordenados:");
for(i=0; i System.out.print(arr[i]+"");

}
}






No hay comentarios:

Publicar un comentario