# Step-by-step: bubble sort (part 27d2)

Пройдём задачу шаг за шагом — такой формат удобен для первого знакомства с алгоритмами.

## Задача

Отсортировать список чисел по возрастанию простейшим алгоритмом — сортировкой пузырьком.

## Решение

```python
def bubble_sort(arr: list[int]) -> list[int]:
    a = arr[:]
    n = len(a)
    for i in range(n):
        for j in range(n - 1 - i):
            if a[j] > a[j + 1]:
                a[j], a[j + 1] = a[j + 1], a[j]
    return a


print(bubble_sort([5, 1, 4, 2, 8]))
```

## Как это работает

На каждом проходе самое большое из оставшихся элементов «всплывает» в конец. Внутренний цикл сокращается на `i`, ведь хвост уже отсортирован.

## Пример работы

```text
[1, 2, 4, 5, 8]
```

## Сложность

O(n²) по времени, O(1) по памяти (без учёта копии).


## Разбор по шагам

1. **Шаг 1. Входные данные.** Проверяем, что приходит в функцию, и какие значения считаются корректными.
2. **Шаг 2. Основной цикл.** Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации.
3. **Шаг 3. Результат.** Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.

Читая чужой код, повторите тот же мысленный разбор по шагам — это самый быстрый способ научиться.

**Читайте также:**

[Задача](https://curated70516.mataroa.blog/blog/55a-a6-a2d/) · [Пройдём](https://articlescad.com/meyra-lllaaviinyaaa-1-fp-381628.html) · [простейшим](https://paste2.org/kgwz9Xxa) · [условию](https://sway.cloud.microsoft/zqYYV6sBAcwHPncW) · [функцию](https://drop.xtrafrancyz.net/selif/vfe1esvc0a.pdf) · [Внутренний](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [каждом](https://statics.pancake.vn/web-media-264/f2/a3/39/77/a120c0c301c0e831709512919e895c2e6a0d8dc92614587a5de9c6b7.pdf) · [Проверяем](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/inkyminkee-54a1dc.pdf) · [переменных](https://blogfreely.net/catherine-vasilyev70/bokep-indo-daisy-bae-onlyfans-yang-suka-main-kasar) · [повторите](https://writefreely.ethibox.fr/ozbb5198/kat4martynova-nude) · [Именно](https://privatebin.devol.it/?a235f048e261a880#H8whUpHPSAFgyR3ztberuQxN4R24rxHa8GXXMc7xKdk8) · [учёта](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-f7cd2c.pdf) · [приходит](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/binary-search-oshibki-mvbu4tng.md) · [Разбор](https://paper.wf/almahoffmann80log/turban-hijab-twitter) · [Отсортировать](https://paper.wf/vera1994log/model-cherish-adult-photo-gallery-with-swimsuit-sessions) · [работает](https://rentry.co/brima-models-606959) · [range(n](https://rentry.co/wu5p6frp) · [алгоритмом](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-abcb39.pdf) · [хвост](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [проходе](https://ecency.com/@vojtechurban2724/alyx-star-videos-best-hd-porn-scenes-and-xxx-clips-2d457c) · [отсортирован](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/vladigal-fa3606.pdf) · [return](https://kappa.lol/TBdcgl) · [list[int](https://rentry.co/starsession-653907) · [формат](https://sway.cloud.microsoft/sx7L4xaetHDWIJsa) · [случаи](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [возвращаемое](https://ecency.com/@adamsvoboda1644/nn-liliana-model-ce865b) · [Основной](https://kappa.lol/7OXrLM)

