Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Writing tests for bubble sort
- Разберём решение и сразу накроем его тестами — это хороший стиль работы с кодом.
- Задача
- Отсортировать список чисел по возрастанию простейшим алгоритмом — сортировкой пузырьком.
- Решение
- ``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 # и второй случай
- ``
- Такой минимум уже защищает от случайной ошибки при правках кода.
- С добавлением проверок решение становится самодокументируемым — сразу видно, что код делает.
- View Full Gallery → https://go.cbrop.com/prse
- Related:
- https://stills86878.mataroa.blog/blog/silk-068-lady-zee-in-elegant-silk-photoshoot-gallery/
- https://pastelink.net/ij15g5z8
- https://pastebin.com/0x1sNwH3
- https://yakihonne.com/article/naddr1qvzqqqr4gupzq2fdhel5etgac6uqdw9htqwy74qw3ndtcfpf4wne07q7f3yf6wh3qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknjenyxqunsvrx95unxet9956r2dtx95uxvvmx94jrwdmz8qck2wtxxgcrswey526
- https://sofiaroux970.overblog.fr/2026/11/post.html
Advertisement
Add Comment
Please, Sign In to add comment