Wstawianie do posortowanej listy

Sortowanie przez wstawianie - Informatyka - liceum klasa 2 (Python)

Tak układa się karty w ręku: bierze się kolejną kartę i **wstawia** ją we właściwe miejsce między kartami już ułożonymi. Podstawowy krok algorytmu: do listy **posortowanej** wstawić nowy element tak, żeby lista pozostała posortowana. Element `x` dopisuje się na końcu, a potem, dopóki element przed nim jest większy, większy element **przesuwa się** o jedno miejsce w prawo. Gdy element przed nim nie jest większy (albo lista się skończyła), `x` trafia na zwolnione miejsce.

def insert_sorted(values, x):
    values.append(x)
    j = len(values) - 2
    while j >= 0 and values[j] > x:
        values[j + 1] = values[j]
        j -= 1
    values[j + 1] = x
    return values

hand = [2, 5, 8, 11]
print(insert_sorted(hand, 7))
print(insert_sorted(hand, 1))
print(insert_sorted(hand, 12))

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Informatyka - liceum klasa 2·Zaloguj się, aby zapisać postęp na koncie.