# Two approaches to bubble sort (part ebd9)

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

## Задача

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

## Решение

```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://curated82681.mataroa.blog/blog/yu_yuhwa-onlyfans-nude-asian-videos-and-photos/) · [между](https://my790am.com/lakindayxo?f=instapaper) · [return](https://news-ctl-posts.hashnode.dev/pitfalls-of-minimum-and-maximum-of-a-list-part-b10f) · [range(n](https://paste2.org/0LkVCAbY) · [например](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [посмотрим](https://rentry.co/umtezgxo) · [времени](https://team.writefreely.dev/oz711d48/rozklad-urokiv-v-ukrayini-shabloni-ta-rozklad-zvonkiv-2023) · [подход](https://privatebin.devol.it/?f8d1dcca7728c035#AmsXCUKLyX7u3B5on2bHeqSbBt17Xw8zwujDzX23YXVf) · [Альтернатива](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [решение](https://discuss.tchncs.de/post/65442478) · [каждом](https://blogfreely.net/catherine-vasilyev70/sks-jnby-shdyd-mtrjm-m-lia-lin-fy-qw-lmshhd-lskhn-xnt1) · [Отсортировать](https://rentry.co/geto-x-gojo-r34-246526) · [большое](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/nudistfamily-3a8bb5.pdf) · [len(a](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-bcc064.pdf) · [написать](https://radicle.network/nodes/seed.pipapo.org/rad%3Az3vJ8DvXJuWhKwhcmPsmR9zFkQzmt/issues/7c9dc34368963f80dea1b1c354813133f798cc91) · [задачи](https://ivulmovie.com/%E9%A6%99%E6%B8%AF%E5%AB%A9%E6%A8%A1%E6%9E%97%E5%B8%8C?f=instapaper) · [python](https://privatebin.devol.it/?21ac7f54750d912c#AckZHamRLFBsmWqdtjJzaXqbGXfiuU2gZ5K29pqVmn1R) · [сравнить](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/is-prime-razbor-mvdzttnn.md) · [реализации](https://kappa.lol/vMebuV) · [лучше](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/margotandmarjorie-b75f48.pdf) · [Внутренний](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [сортировкой](https://statics.pancake.vn/web-media-264/e8/24/9d/ac/2c184c65d0145e2532de3bd29013905ef85c59e57494d016b40ad53e.pdf) · [list[int](https://hey.xyz/posts/1bcmyw9jt22b6n60erd) · [учёта](https://rentry.co/c3aot8di) · [показывает](https://radicle.network/nodes/seed.pipapo.org/rad%3AzpXngcAxaDRo2bpqwGMbqMARv1ww/issues/35a20d36c7c01846dec32dec04cbf6d1f4152d0f) · [вместо](https://radicle.network/nodes/index.radicle.garden/rad%3AzNcXogVW2QZmTTK6vD3g5AuEYo1D/issues/02e07bad2ec3ce6c7571a0be744ca03f0a395198)

