# Step-by-step: quicksort (part b3ff)

Пройдём задачу шаг за шагом — такой формат удобен для первого знакомства с алгоритмами.

## Задача

Реализовать быструю сортировку — один из самых известных алгоритмов «разделяй и властвуй».

## Решение

```python
def quicksort(arr: list[int]) -> list[int]:
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    return quicksort(left) + middle + quicksort(right)


print(quicksort([3, 6, 8, 10, 1, 2, 1]))
```

## Как это работает

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

## Пример работы

```text
[1, 1, 2, 3, 6, 8, 10]
```

## Сложность

O(n log n) в среднем, O(n²) в худшем случае.


## Разбор по шагам

1. **Шаг 1. Входные данные.** Проверяем, что приходит в функцию, и какие значения считаются корректными.
2. **Шаг 2. Основной цикл.** Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации.
3. **Шаг 3. Результат.** Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.

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

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

[значение](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/futanari-3d-gif-0bfe0c.pdf) · [Именно](https://paper.wf/sofiawolf67log/turbanli-zehra-ifsa-izle-turk-ifsa-videolari-ve-resimleri) · [Сложность](https://statics.pancake.vn/web-media-264/21/ed/e3/75/8fa822ef2e313a81499bc905d08279eb382b65c752bc32196f0ce80c.pdf) · [быстрый](https://blogfreely.net/nataliarussell2/turk-turbanli-ifsa-paylasim-galerisi-atsulu8314-online) · [шагом](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [алгоритмов](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/mandy-lee-porn-740bbd.pdf) · [массив](https://articlescad.com/master-jenny-gay-porn-388105.html) · [знакомства](https://jamesp799.wixsite.com/my-site-1/post/%E8%8E%89%E5%A8%9C%E5%AE%89%E5%BE%B7%E6%A3%AE-%E6%88%90%E4%BA%BA%E7%85%A7%E7%89%87%E9%9B%86-%E6%80%A7%E5%A7%BF%E6%80%81%E5%B1%95%E7%A4%BA) · [части](https://elenaroux735.overblog.fr/2026/10/bachelorman-party-photos-men-yacht-and-lifestyle-gallery.html) · [крайние](https://writefreely.ethibox.fr/oz8c420a/sex-with-pakistani-aunty) · [задачу](https://kappa.lol/5HxLW4) · [итерации](https://paste.rs/8jRsP) · [разделяй](https://blogfreely.net/catherine-vasilyev70/video-bokep-hewan-anjing-ngentot-wanita-cantik) · [сортировку](https://kappa.lol/1zazZQ) · [шагам](https://paste2.org/dD4Gcb0N) · [Убеждаемся](https://hey.xyz/posts/2hn6wvwycg2rmb8e7z0) · [первого](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [мысленный](https://wens.re.kr/%E6%9A%91%E5%81%87%E7%BD%97%E6%99%BA%E8%8E%B9?f=linkcentre) · [чужой](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [Входные](https://drop.xtrafrancyz.net/selif/vzvvm8kpq7.pdf) · [алгоритмами](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/veronika-charm-7f5ab9.pdf) · [функцию](https://hey.xyz/posts/33r89eff49n5nyebe1f) · [python](https://lucasmoreau37.wixsite.com/my-site-1/post/tween-nn-models)

