Quick Sort en Java

Hola amigos de la clase de Estructuras de Datos del MC Orion Fausto Reyes Galaviz (espero ese sea su nombre), el último trabajo que les dejo son metodos de ordenamiento y eso lo vimos hace tiempo con el Dr. Chávez, pero muchos o ya perdimos los apuntes o los códigos, pero no importa lo que interesa es resolverlo y por petición de mi amigo Victor (si, sin acento), pero no le entendi muy bien su petición, pero intentando ayudar y que me repruebe nuevamente jajajaja les ayude con el programa de Quick Sort en jGrasp (ya saben lo que es tener tiempo libre jajaja buenono mucho pero si algo), no pidan que se los explique pues fue un programa que hice hace ya casi un año, pero lo importante es que funciona y muy bien.

Me base en aquel entonces en el libro de «Data Structures and Algorithms in java» de Robert Lafore.

[java]

class QuickSort{
private long[] a;
private int nElems;
public QuickSort(int max){
a=new long[max];
nElems=max;
}
public void llenar(long value){
for(int k=0; k<value; k++)
a[k]=(int)(Math.random()*100);
}
public void display(){
for(int l=0; l<nElems; l++)
System.out.print(a[l]+" ");
System.out.println("");
}
public void quickSort(){
recQuickSort(0, nElems-1);
}
public void recQuickSort(int left, int right){
if(right-left<=0) return;
else{
long pivot=a[right];
int partition=partitionIt(left, right, pivot);
recQuickSort(left, partition-1);
recQuickSort(partition+1, right);
}
}
public int partitionIt(int left, int right, long pivot){
int leftPtr=left-1;
int rightPtr=right;
while(true){
while(a[++leftPtr]<pivot);
while(rightPtr>0&&a[–rightPtr]>pivot);
if(leftPtr>=rightPtr)break;
else swapqs(leftPtr, rightPtr);
}
swapqs(leftPtr, right);
return leftPtr;
}
public void swapqs(int dex1, int dex2){
long temp=a[dex1];
a[dex1]=a[dex2];
a[dex2]=temp;
}
}/*end class*/

[/java]

[java]

/*y está es nuestra interfaz*/

class QuickSortApp{
public static void main(String[] args){
int cien=100;
QuickSort arr;
arr=new QuickSort(cien);
arr.llenar(cien);
arr.display();
arr.quickSort();
arr.display();
}
}

[/java]

Espero les sea de gran ayuda amigos y cualquier cosa estoy para apoyarlos vale?, saludos cordiales y hasta pronto.

Clic para descargar los programas para jGrasp «quicksort«