quiksort

Laura22
15 de Febrero del 2006
hola necito un programa para linux con la funcion quiksort y la cuesstion es la siguiente : que me permita el programa por linea de comandos una serie de numeros ej: 1,3,4,,8,6,9 y despues dicho programa me devuelva la el resultado ordando con quiksort seria 1,3,4,6,8,9 !!!! si alguien me puede exar una mano xafvor ske ando muy pillada con la programacion !!!! gracias

gustavo
15 de Febrero del 2006
Nombre Procedimiento: OrdRap
Parámetros:
lista a ordenar (lista)
índice inferior (inf)
índice superior (sup)

// Inicialización de variables
1. elem_div = lista[sup];
2. i = inf - 1;
3. j = sup;
4. cont = 1;

// Verificamos que no se crucen los límites
5. if (inf >= sup)
6. retornar;

// Clasificamos la sublista
7. while (cont)
8. while (lista[++i] < elem_div);
9. while (lista[--j] > elem_div);
10. if (i < j)
11. temp = lista[i];
12. lista[i] = lista[j];
13. lista[j] = temp;
14. else
15. cont = 0;

// Copiamos el elemento de división
// en su posición final
16. temp = lista[i];
17. lista[i] = lista[sup];
18. lista[sup] = temp;

// Aplicamos el procedimiento
// recursivamente a cada sublista
19. OrdRap (lista, inf, i - 1);
20. OrdRap (lista, i + 1, sup);

gustavo
15 de Febrero del 2006
El codigo anterior te puede servir, La primera llamada debería ser con la lista, cero (0) y el tamaño de la lista menos 1 como parámetros

Un saludo y esper que te sirva