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.
Wyzwanie
ŁatwyTeraz 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
2Algorytm
Jak to działa?PseudokodImplementacja (część 1)Implementacja (część 2)Poćwicz samodzielnie: Kompilator C online