Ejemplo 1:
Comenzamos eligiendo un elemento dinámico. Luego, para recorrer todos los elementos de la lista, usamos Python para el bucle. Si un número es <= to the pivot, it is shifted to the left. Otherwise, it shifts to the right side of the pivot. Our Python program returns the new high value. Item + 1 equals the new high value. After that, we must execute our algorithm. A separate procedure can be created to achieve this. This function compares the values of “low_point” and “high_point” to test if “low_pont” is less than “high_point.” We'll be likely to progress if that's the case. Otherwise, our sorting will come to a halt. When our sorting comes to a halt, it signifies the list has been sorted.
El método preparar () se llama por nuestro código. Esto localiza un puntero de pivote y transfiere las cosas a sus ubicaciones adecuadas. El método QuickSort () es llamado dos veces por nuestro programa. Usamos Quicksort en las piezas a la izquierda del pivote por primera vez. Para el segundo intento, usamos QuickSort en los objetos a la derecha del pivote. Como resultado, debido a que se llama a sí mismo, nuestra función es recursiva. Ahora creemos un programa primario que crea una lista ordenable. Comenzamos especificando un conjunto de valores para clasificar. La función python len () se usa para determinar la longitud de nuestro conjunto de atributos. Después de eso, se aplica el método QuickSort ().
Def preparar (datos, Low_Point, High_Point):Aquí puede ver que los datos están ordenados.
Ejemplo 2:
Usaremos dos funciones en este ejemplo: Partition () y Quicksort (). La función QuickSort () divide la colección primero, luego se llama a sí misma recursivamente en las piezas particionadas. Primero, veamos la función de división (). El pivote se estableció primero, como puede ver en el código. Si el valor que estamos viendo en este momento es más alto que el pivote. Podemos pasar a la siguiente pieza a la izquierda porque está en el lado derecho del pivote. También debemos asegurarnos de no haber pasado el puntero bajo, lo que indica que todos los elementos se han movido al lado correcto del pivote. Después de eso, se lleva a cabo el método opuesto al anterior. Hemos encontrado un número fuera de orden para High_Point y Low_Point, o Low_Point es mayor que High_Point, en cuyo caso dejaremos el bucle. Finalmente, pongamos el código QuickSort () en acción. Podemos usar QuickSort () en una matriz básica para implementar ambas funciones (Partition y QuickSort).
Partition Def (arr1, inicio, final):Este es el resultado. No hay garantía de que estos dos 22 estuvieran en este orden porque el método es inestable. Tal vez se cambiaron al principio, pero eso no implica nada en una matriz entera.
Ejemplo 3:
Vamos a clasificar objetos personalizados en este ejemplo. Hay varias formas diferentes de extender este algoritmo para ordenar objetos personalizados en Python. Los operadores de comparación para una clase específica podrían implementarse en un estilo pitónico, lo que significa que no tendríamos que cambiar el algoritmo porque>, ==, =, etc., funcionaría lo mejor de nuestro objeto de clase. Una opción más es hacer que la persona que llama proporcione a nuestro algoritmo un método, que luego se utilizaría para realizar la comparación de elementos real. Es bastante simple reescribir el algoritmo para su uso con objetos a medida. Sin embargo, tenga en cuenta que el algoritmo no es completamente estable. Comencemos con la clase de estudiantes. Esta clase tiene solo dos características: el nombre y la edad del estudiante. Ordenaremos por edad, que lograremos dando al algoritmo de clasificación una nueva función Lambda. Pero primero, veamos cómo se usa esta función en el algoritmo. En lugar de usar los operadores = o> = para hacer una comparación directa, usamos la función para determinar qué estudiante es mayor. Lambda transmite el objeto en comparación con la llamada de clasificación rápida, que hace la comparación de atributos de edad exacta.
Estudiante de clase:Aquí puedes ver la lista ordenada de nombres.
Conclusión:
Una matriz se subdivide utilizando el algoritmo Python Quicksort y luego ordene cada entrada en la lista; Este método llama a estas medias subcuencicas repetidamente. Hemos pasado por este concepto en profundidad con ejemplos en este artículo.