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.
no luigi ps gracias se te agradece tu ayuda!!!
ps ay luego te mandamos otros programas para que nos ayudes jajajja
bueno amigo me despido tengo clases jajaj!!!
hola amigocho gracias creeme que me has ayudado muxo…bueno espero que estes bien…..T X T R A Ñ O bueno te mando un fuerte abrazo cuidate
muchas gracias! excelente!! =)
ola me podrias ayudar a realisar un pograma en java de recursividad….te lo agradeseroe infinitamente
Hola Marian claro con gusto te ayudo a tu programa de Java en forma recursiva… pero que necesita hacer tu programa? o que ejercicio te dejaron y para cuando?
Saludos cordiales y gracias por tu comentario.
Hola necesito que me ayudes con un programa porfavor, te lo agradeceria mucho..
Crear programa con metodo Quicksort de la manera mas sencilla, que se llene de manera aleatoria, y que vaya mostrando paso a paso como se van cambiando los numeros..
Muchisimas gracias de antemano
Hola Andrea primero gracias por tu comentario 🙂 y para hacer lo que solicitas de por si el programa acá mostrado llena un arreglo de 100 elementos en un rango de 1 a 100 de forma aleatoria en el programa QuickSortApp deberás cambiar en la línea 3 donde dice «cien=100;» por el tamaño de tu arreglo que desees para hacerlo más representativo ponle 5 o 10 en lugar de 100, si deseas cambiar el rango de números aleatorios en el programa QuickSort en el método «llenar» en la línea que dice: «a[k]=(int)(Math.random()*100);» y si quieres un rango menor deberás cambiar ese 100, y por último para que se vaya mostrando paso a paso como se va modificando el arreglo en el programa QuickSort en el método «public void recQuickSort(int left, int right){…» después de esa línea y antes de iniciar el «if(right-left<=0) return;" deberás escribir "display();" el cual llama al método imprimir arreglo y se mostrarán todos los pasos en como se va ordenando el arreglo, espero te sea útil esta información saludos 🙂
Hola GianBros.. muchisimas gracias por responder me fue de mucha ayuda : D me atreveria a pedir que si pudieras explicar el codigo, pero supongo estas ocupado.. de cualquiera manera gracias de nuevo : D
Hola Andrea, que padre que te haya servido la ayuda 🙂 con gusto te explicaría el código pero la intención siempre ha sido que los demás aprendan y ya en caso de que no puedan yo con todo gusto les ayudare, mira baja o lee en línea el libro de «Data Structure and Algorithms in java» de Robert Lafore, el cual puedes visualizar en: http://uwu.weebly.com/uploads/4/0/6/3/4063810/data_structures_and_algorithms_in_java.pdf
y de ahí el tema de QuickSort está en la página 333 del libro o 358 del pdf, y si aún así no lo comprendes me avisas y con todo gusto intento explicarte vale?
Saludos 🙂 y espero te sirva ese libro, fue con el que yo aprendí.
otro texto que me recomiendes en español ………………..gracias
Hey q tal!!!!
pues esta muy bueno tu programita!!!!
hola una pregunta si quiero cargarles unos números determinados en que parte lo hago