Guest User

Untitled

a guest
Sep 6th, 2022
6,714
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.77 KB | None | 0 0
  1. def quick_sort(array, low, high):
  2.   if low < high:
  3.     # Dividir y acomodar pivote
  4.     pi = partition(array, low, high)
  5.  
  6.     quick_sort(array, low, pi - 1)
  7.     quick_sort(array, pi + 1, high)
  8.  
  9. def partition(array, low, high):  
  10.   # Pivote el de la derecha
  11.   pivot = array[high]
  12.  
  13.   # Apuntador del último elemento más pequeño
  14.   i = low - 1
  15.  
  16.   for j in range(low, high):
  17.     if array[j] <= pivot:
  18.       # Avanzar apuntador
  19.       i = i + 1
  20.       # Intercambiar elementos
  21.       (array[i], array[j]) = (array[j], array[i])
  22.  
  23.   # Al final intercambiar el pivote
  24.   (array[i + 1], array[high]) = (array[high], array[i + 1])
  25.  
  26.   # Regresa la posición final del pivote
  27.   return i + 1
  28.  
  29. arr = [4,6,2,5,8,9,5,10]
  30. print(arr)
  31. quick_sort(arr, 0, len(arr)-1)
  32. print(arr)
Advertisement
Add Comment
Please, Sign In to add comment