Este día solo vengo de rapido para postear algunos programas que he estado haciendo de tareas en la escuela. Y pues lo hago de rápido ya que mañana tengo examen de desarrollo de proyectos y sinceramente no he estudiado nada :S jeje así que pues aquí esta algo rápido.
Este es el ordenamiento Quick Sort (en español ordenamiento rápido) y como su nombre lo indica, es el ordenamiento más eficiente y eficaz de todos, y por obviedad el más rápido. Este es un algoritmo algo sencillo, una vez que entiendes el tema de recursividad, se te hará fácil entender su funcionamiento.
Vamos con la explicación rápida:
- El vector desordenado es enviado a la función “quicksort()”
- Al llegarle el vector a la función, se toma el primer elemento del vector (o cualquiera; Nota: en nuestro caso tomamos el primero) y se considera ese elemento como “pivote” o “comodín”.
- Después se recorre todo el vector; durante el recorrido, se va buscando los numeros menores que el pivote, sí el elemento del vector en una vuelta es menor que el pivote, entonces se manda a la izquierda del pivote, de lo contrario no se hace nada. Esto provocará que después de recorrer todo el vector, todos los elementos menores que el pivote quedarán a la izquierda de este y los mayores al pivote a la derecha.
- Se envía recursivamente la mitad izquierda del vector (números menores que el pivote sin tomar en cuenta el mismo pivote) a la función quicksort
- Se envía recursivamente la mitad derecha del vector (números mayores que el pivote sin tomar en cuenta el mismo pivote) a la función quicksort
Pero una imagen dice más que mil palabras:

Y este es el código:
(continue reading…)