# Step-by-step: quicksort (part 7a2c)

Медленный разбор помогает понять код, а не просто скопировать его.

## Задача

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

## Решение

```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://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [способ](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/poo19-c9befd.pdf) · [делится](https://sway.cloud.microsoft/Ji321iMoFlXHuGPT) · [работа](https://kappa.lol/cV1qRN) · [быструю](https://jaflysilve.freeflarum.com/d/1533-1533-bokep-indo-habis-colmek-kayesha-gak-sabar-ngulek-diatas-kamu) · [Основной](https://radicle.network/nodes/index.radicle.garden/rad%3AzRnu4TYzB3ZPgM3GPAijuuiKnwMS/issues/82ad94930efb37760c56577b6e843946a3c64465) · [понять](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/nri-fucked-ca23a9.pdf) · [quicksort(left](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/binary-search-shagi-mvbapnt7.md) · [корректными](https://statics.pancake.vn/web-media-264/c5/83/af/bb/0c44fd67dc387954141c006c3c2c009f5f98df899a0cc90497385c31.pdf) · [Выбирается](https://hey.xyz/posts/14sr3r5wqc48cpvy283) · [return](https://news-ctl-posts.hashnode.dev/understanding-fast-exponentiation-part-2951) · [значения](https://yakihonne.com/article/naddr1qvzqqqr4gupzpz9sgjc7e7hm72su972fsp4lyfdu90lcc569yj844zr56r5tenx6qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkxetrxumxxdph95mxzdfe956x2cf4943rzdmy95unqvmpvy6rxv3svsmnvd890tq) · [помогает](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [просто](https://team.writefreely.dev/oza70399/ejen-ali-porn) · [Медленный](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/ai-600cc3.pdf) · [изменениями](https://paste.rs/AP6mS) · [функцию](https://claraleroy498.overblog.fr/2026/10/bokep-ibu-ibu-stw-indonesia.html) · [самых](https://yakihonne.com/article/naddr1qvzqqqr4gupzqvhgld7vcdqd7fdvdlrcucxxuu4n7ke25mea338aa3cn4mdcnd54qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknscejxp3xxven943njefk956rxwty95urzdf395unscecxqurjctpxqenszskx5a) · [list[int](https://discuss.tchncs.de/post/65444058) · [случае](https://privatebin.devol.it/?c42985569c3d820e#Gna9UzCkd7wgMPK5H7rpAQH6tyCnUFeZmrqLUhsZbMyP) · [возвращаемое](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az42jpopJGtkSHVtJYw1p9X4mGksFr/issues/463ddc87ac81155c4d45266a8b638bfdecd63aea) · [Проверяем](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [следим](https://articlescad.com/hornycraft-cheat-codes-379038.html) · [python](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/loud-house-hentai-7213fd.pdf) · [разбор](https://gall.dcinside.com/mgallery/board/view/?id=nmixxreality&no=3555) · [случаи](https://statics.pancake.vn/web-media-264/6a/24/80/f4/f9c4109c7eb42731465d49e565bd1f05822a81ab9e536c454f440ec8.pdf)

