ComenzarEmpieza gratis

Implementación del algoritmo de ordenamiento rápido

En este ejercicio, implementarás el algoritmo de ordenamiento rápido para ordenar una lista de números.

En el primer paso, implementarás la función partition(), que devuelve el índice del pivote después de procesar la lista de números de forma que todos los elementos que están a la izquierda del pivote sean menores que el pivote y todos los elementos que están a la derecha del pivote sean mayores que el pivote.

En el segundo paso, implementarás la función quicksort(), que llamará a la función partition().

Este ejercicio forma parte del curso

Estructuras de datos y algoritmos en Python

Ver curso

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

def partition(my_list, first_index, last_index):
  pivot = my_list[first_index]
  left_pointer = first_index + 1
  right_pointer = last_index
 
  while True:
    # Iterate until the value pointed by left_pointer is greater than pivot or left_pointer is greater than last_index
    while ____ < ____ and ____ < ____:
      left_pointer += 1
    
    while my_list[right_pointer] > pivot and right_pointer >= first_index:
      right_pointer -= 1 
    if left_pointer >= right_pointer:
        break
    # Swap the values for the elements located at the left_pointer and right_pointer
    my_list[left_pointer], my_list[right_pointer] = ____, ____
   
  my_list[first_index], my_list[right_pointer] = my_list[right_pointer], my_list[first_index]
  return right_pointer
Editar y ejecutar código