BaşlayınÜcretsiz başlayın

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, kursun bir parçasıdır

Python'da Veri Yapıları ve Algoritmalar

Kursa Göz Atın

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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
Kodu Düzenle ve Çalıştır