# Common mistakes in bubble sort (part 2e4d)

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

## Задача

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

## Решение

```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. **Не обрабатывать крайние случаи.** Пустой ввод, ноль, отрицательные числа — именно там решение чаще всего ломается.
2. **Смешивать типы данных.** Строки и числа ведут себя по-разному; неявное приведение типов — источник неочевидных багов.
3. **Писать код без проверки на маленьких примерах.** Прогоните решение вручную на 2-3 значениях, прежде чем считать задачу решённой.

Заметив такую ошибку в чужом коде, вы уже мыслите как ревьюер.

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

[хвост](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-8f01bf.pdf) · [алгоритмом](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [Решение](https://paste2.org/A2WXyYAa) · [задачу](https://articlescad.com/gv-382524.html) · [большое](https://team.writefreely.dev/oz936174/breast-growth-manga-explicit-expansion-comics-and-art) · [Заметив](https://jaflysilve.freeflarum.com/d/2266-2266-cozy-cabin-mom) · [Пример](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-27e4f8.pdf) · [работает](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/unique-razbor-mvclm1it.md) · [обрабатывать](https://mariadubois2.wixsite.com/my-site-1/post/nilmonze) · [вручную](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/anagram-oshibki-mvch98qy.md) · [данных](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [считать](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/bokep-viral-ibu-dan-anak-baju-biru-1f40c8.pdf) · [Задача](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/kirapregiato-a2a01d.pdf) · [элементов](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/binary-search-razbor-mvcixi8p.md) · [новички](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [ошибки](https://drop.xtrafrancyz.net/selif/2mw6k1okut.pdf) · [собрал](https://rentry.co/8pqc8uk7) · [чужом](https://blogfreely.net/nathannazarov26/itsmukkk) · [неявное](https://jaflysilve.freeflarum.com/d/2239-2239-mariska-and-sharon-white) · [отсортирован](https://statics.pancake.vn/web-media-264/c1/3a/ab/5b/83618c14366e97289d0d033684e8a22114cc41df16e9bfe98438eb20.pdf) · [python](https://discuss.tchncs.de/post/65441028)

