Quicksort algoritmasını uygulama
Bu egzersizde, bir sayı listesini sıralamak için quicksort algoritmasını uygulayacaksın.
İlk adımda, pivotun solunda kalan tüm öğelerin pivottan küçük, sağında kalan tüm öğelerin ise pivottan büyük olmasını sağlayacak şekilde sayı listesini işledikten sonra pivotun indeksini döndüren partition() fonksiyonunu yazacaksın.
İkinci adımda, partition() fonksiyonunu çağıracak olan quicksort() fonksiyonunu uygulayacaksın.
Bu egzersiz
Python'da Veri Yapıları ve Algoritmalar
kursunun bir parçasıdırUygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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