# Two approaches to bubble sort (part be81)

У большинства учебных задач есть минимум два честных решения — сравним их.

## Задача

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

## Решение

```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) по памяти (без учёта копии).


## Альтернативный подход

Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.

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

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

[проходе](https://privatebin.devol.it/?2cb85bbd40d11a76#Akxb8UTdPdemg63uJS43MjxcpNzAxMeB7LH1WpKfK1c8) · [сортировкой](https://ownforum.freeflarum.com/d/5474-5474-celine-dept-sexy) · [список](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/power-oshibki-mvfvz4md.md) · [задачу](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [пузырьком](https://yakihonne.com/article/naddr1qvzqqqr4gupzp3unnd5mn3967sqvrltxmh7fqq9hsqkk9qft3yug6fj8hy9mr8zyqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknjwfhvdnrydec95urqdec956rvdm994snqwpe956rswf3xdjx2d3nxf3r2z3vrvc) · [важнее](https://radicle.network/nodes/seed.pipapo.org/rad%3Az3Ao7btjd9FDbVb8skKVXx16Kcftr/issues/d91c19d98d3279fdc8da8ab4ea07d7f70724147f) · [механику](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/liseli-sakso-twitter-2de59c.pdf) · [вместо](https://rimworld.gallery/m/random/t/16276) · [учебной](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/iimsaarah-leaked-d473f4.pdf) · [честных](https://statics.pancake.vn/web-media-264/42/ff/e9/4c/da378c1f2ff5396564c00816c3cd3dc2ab475452f4b80b8ac27cf2fd.pdf) · [простейшим](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/power-tests-mvfudcyq.md) · [работает](https://thetoonsnft.com/snowbunnyjelly?f=instapaper) · [Альтернативный](https://privatebin.devol.it/?fd3114d011567c08#5SRB6ESjZeXL92qB9r5XStRAfeSxWAnpCvs5tpvCshpU) · [подход](https://paste2.org/7yE9v7da) · [Задача](https://team.writefreely.dev/oz40fc81/youstrip) · [хвост](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/minami-airi-cfed84.pdf) · [решения](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [решениями](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/groupielust-f69af2.pdf) · [алгоритма](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [скорости](https://radicle.network/nodes/index.radicle.garden/rad%3Az2UEyEqNr1vb7TsHnpHAK7idgE5vA/issues/0dd8c668fc91637a2799dc8009f2bfd575f47960) · [показывает](https://news-ctl-posts.hashnode.dev/two-approaches-to-the-caesar-cipher-part-52a8) · [через](https://jaflysilve.freeflarum.com/d/4396-4396-turbanli-lezbiyen-twitter) · [задачи](https://morarkristina18.wixsite.com/my-site-1/post/bokep-bocil-sd-viral) · [конец](https://paper.wf/katya1969log/chloejovibes-leaked)

