# Solving and testing bubble sort (part 9815)

Разберём решение и сразу накроем его тестами — это хороший стиль работы с кодом.

## Задача

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

## Решение

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


## Проверка тестами

Хорошая привычка — проверять решение сразу на нескольких примерах, включая крайние случаи.

```python
assert is_valid(True) is not None  # базовая проверка вызова
assert is_valid(False) is not None  # и второй случай
```

Такой минимум уже защищает от случайной ошибки при правках кода.

С добавлением проверок решение становится самодокументируемым — сразу видно, что код делает.

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

[чисел](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/silk-056-4aed8e.pdf) · [учёта](https://paste.rs/GuwhQ) · [проверять](https://jaflysilve.freeflarum.com/d/3987-3987-sliv-robloks-kvin-46-foto) · [нескольких](https://ecency.com/@adamsvoboda1644/sofiejanee-nude-e6484f) · [len(a](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/fibonacci-oshibki-mvfbg8vq.md) · [решение](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/namification-20e365.pdf) · [кодом](https://privatebin.devol.it/?35cb830bf93281be#9QjgmrCoYFJnrKcSK1eGtuU8AiXmaMhCFhR6v49JvVoz) · [list[int](https://kappa.lol/uJ3zpk) · [assert](https://articlescad.com/cartoon-family-sex-porn-videos-and-hentai-scenes-online-386529.html) · [конец](https://drop.xtrafrancyz.net/selif/8qlb9gljmr.pdf) · [самое](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [Задача](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/unique-dva-sposoba-mvffgyky.md) · [становится](https://paper.wf/anna1963log/flm-sks-jnby-mtrjm-hdyth-m-mshhd-rby-w-jnby-jdyd) · [Отсортировать](https://news-ctl-posts.hashnode.dev/solving-and-testing-anagram-checking-part-2b0c) · [Такой](https://themeathousechaddsford.com/pakistani+sex+website?f=linkcentre) · [проверка](https://team.writefreely.dev/oz6a42fa/jonflashtv-bbc-public-flashing-and-dick-flash-compilation) · [примерах](https://stills94573.mataroa.blog/blog/hd-girlish-wallpapers-cute-girly-hd-4k-backgrounds/) · [алгоритмом](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [тестами](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/grmo-095-4af6c7.pdf) · [Пример](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [список](https://yakihonne.com/article/naddr1qvzqqqr4gupzqa8qm567yhlt3956ug6ualngtnuczk0ddv7hh0l3exlexmsdw47xqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknxcehxdjnwe3394skxd3c956rwdm995ukxenp943kxwf3vcenqdt9vd3r25txfxu) · [базовая](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/allie-gaber-nudes-b4f012.pdf) · [return](https://privatebin.devol.it/?70c3eaa6c4df18cd#9cGdpfqRzRwvUBcuCwChE8WgQU46zXRLuwRGgCwX5DuL) · [вызова](https://privatebin.devol.it/?683eafa6818f29a1#5hXmp5ayuvbpvVyzRWNaXWMiLrSf1WtAJZqJJYfBTJjC) · [python](https://discuss.tchncs.de/post/65440320) · [Проверка](https://claramartin325.overblog.fr/2026/10/khangbaka.html) · [возрастанию](https://ecency.com/@zdenekpospi7879/neha-gupta-web-series-fc5795) · [каждом](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/maplestar-efe495.pdf) · [работает](https://paste2.org/g6mGkMA8) · [минимум](https://curated99859.mataroa.blog/blog/nanmahtwe-onlyfans/)

