Menu
Coddy logo textTech

Implementacja (część 2)

Lekcja 6 z 9 w kursie Sortowanie przez wstawianie – seria DSA w Coddy.

Scenariusz: sortowanie [5, 2, 9, 1, 5]

Krok 1: Stan początkowy

  • Tablica początkowa: [5, 2, 9, 1, 5]
  • Wyobraź sobie, że to nasze karty w ręku (lub tablica liczb).

Krok 2: Pierwszy element (i=1, key=2)

  • Zaczynamy od drugiej karty (elementu): key = 2.
  • Porównaj 2 z 5 (jedynym jak dotąd posortowanym elementem).
  • Ponieważ 2 jest mniejsze, przesuwamy 5 w prawo i wstawiamy 2 na jego miejsce.
  • Zaktualizowana tablica: [2, 5, 9, 1, 5]

Krok 3: Drugi element (i=2, key=9)

  • Przejdź do następnej karty: key = 9.
  • Porównaj 9 z 5.
  • Ponieważ 9 jest większe, nie trzeba nic przesuwać.
  • Zaktualizowana tablica: [2, 5, 9, 1, 5] (bez zmian)

Krok 4: Trzeci element (i=3, key=1)

  • Przejdź do następnej karty: key = 1.
  • Porównaj 1 z 9, a następnie z 5.
  • Przesuń 9 i 5 w prawo, robiąc miejsce dla 1.
  • Zaktualizowana tablica: [1, 2, 5, 9, 5]

Krok 5: Czwarty element (i=4, key=5)

  • Przejdź do następnej karty: key = 5.
  • Porównaj 5 z 9.
  • Ponieważ 5 jest mniejsze, nie trzeba nic przesuwać.
  • Zaktualizowana tablica: [1, 2, 5, 9, 5] (bez zmian)

Krok 6: Piąty element (i=5, key=5)

  • Przejdź do ostatniej karty: key = 5.
  • Porównaj 5 z 9.
  • Ponieważ 5 jest mniejsze, nie trzeba nic przesuwać.
  • Zaktualizowana tablica: [1, 2, 5, 5, 9]

Wynik końcowy:

  • Posortowana tablica: [1, 2, 5, 5, 9]

W każdym kroku wybieramy kartę (element), porównujemy ją z posortowanymi elementami i umieszczamy we właściwym miejscu, przesuwając w razie potrzeby pozostałe elementy. Powtarzamy ten proces, aż cała tablica zostanie posortowana.

challenge icon

Wyzwanie

Łatwy

Teraz zaimplementuj pętlę wewnętrzną, która sortuje każdy element.

 

Dokończ sortowanie wewnątrz funkcji insertionSort.

Funkcja powinna również na końcu wypisać elementy tablicy, jeden po drugim, każdy w nowej linii.

Skorzystaj z poprzednich lekcji i podpowiedzi jako wskazówek :)

Spróbuj swoich sił

def insertionSort(arr):
    for i in range(1, len(arr)):
        key = arr[i]
        print(key)

Wszystkie lekcje w sekcji Sortowanie przez wstawianie – seria DSA

Poćwicz samodzielnie: Kompilator C online