Jeden przebieg: największy na koniec

Sortowanie bąbelkowe - Informatyka - liceum klasa 2 (Python)

**Sortowanie bąbelkowe** porównuje **sąsiednie** elementy listy i zamienia je, gdy stoją w złej kolejności (lewy większy od prawego). Jeden **przebieg** idzie od początku do końca listy: `j` od 0 do `n - 2`, porównanie `values[j]` z `values[j + 1]`. Po jednym przebiegu największy element na pewno trafia na koniec listy: jest "przepychany" w prawo przy każdym porównaniu, jak bąbelek powietrza wypływający na powierzchnię. Zamiana dwóch elementów w Pythonie to jedno przypisanie: `a, b = b, a`.

def one_pass(values):
    for j in range(len(values) - 1):
        if values[j] > values[j + 1]:
            values[j], values[j + 1] = values[j + 1], values[j]

values = [7, 3, 9, 1, 5, 8, 2]
print(values)
one_pass(values)
print(values)
one_pass(values)
print(values)

Ł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.