# Step-by-step: bubble sort (part 0e38)

Разложим решение на шаги и объясним, что происходит на каждом из них.

## Задача

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

## Решение

```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://jaflysilve.freeflarum.com/d/3151-3151-zoox18-com) · [данные](https://ownforum.freeflarum.com/d/5344-5344-31vakti-porno-galerisi-turkce-altyazili-sahneler) · [каждом](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/boobs-sucking-videos-tamil-5290bc.pdf) · [хвост](https://privatebin.devol.it/?56d080ebfa1349e6#D4Mr6muC8decJUEpTEsTxkSVBc4dJcgCF2edn2cwhX4o) · [Входные](https://drop.xtrafrancyz.net/selif/fnt7hjcezt.pdf) · [работы](https://drop.xtrafrancyz.net/selif/vs8pw7it1a.pdf) · [Разложим](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [копии](https://articlescad.com/evaafanss-384474.html) · [корректными](https://ecency.com/@michalruzic1009/120-a4e260) · [следим](https://articlescad.com/mia-z-porn-384502.html) · [какие](https://lindbergkaterina59.wixsite.com/my-site-1/post/teenfuns-photos-gallery-of-teen-nude-and-amateur-scenes) · [Проверяем](https://privatebin.devol.it/?2c84b3b19e40b43b#5XPciGHN5nhPW3h3j97T9UhfyjiKgx6k4HxN2QCp78zp) · [Убеждаемся](https://cryptoradar.com/exchanges/okx) · [считаются](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/merge-sort-dva-sposoba-mve3eqn9.md) · [повторите](https://ecency.com/@karelnovotn6538/femme-nu-youtube-c4c985) · [Сложность](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az2Z64GbHjUS2Xx3HxMWqY6KLTawK5/issues/fb1718fff702a4eee68437ed4ee9162af83c6a15) · [учёта](https://articlescad.com/saomakuailewu-384618.html) · [всплывает](https://news-ctl-posts.hashnode.dev/common-mistakes-in-removing-duplicates-from-a-list-part-1730) · [функцию](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [Задача](https://hey.xyz/posts/3dpqzk1mhc0yxhht69m) · [Решение](https://ecency.com/@jakubkolar5653/post-795389) · [сокращается](https://pen.absturztau.be/oz830f0e/77kimoji-cosplay-masturbation-collection-asian-selfie-videos) · [итерации](https://rentry.co/mikayla-campions-masturbating-147494) · [значения](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [шагам](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/some-me-time-chloe-surreal-fdaf29.pdf) · [конец](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/jelena-knezevic-porn-d8b098.pdf) · [return](https://yakihonne.com/article/naddr1qvzqqqr4gupzp07xd67p9mhg5ys5jptc7nxtavlmtv6fcnaf8cx5affw5yxmeeuhqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknjv3nx33kxd3n956nqdny956rqdfs94snzvf594jrxwphxvmrywp3xserj3mdmqm) · [объясним](https://paste2.org/FzJOOFwZ)

