# Walking through quicksort (part 115a)

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

## Задача

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

## Решение

```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²) в худшем случае.


Это решение удобно как отправная точка для экспериментов: попробуйте изменить входные данные и проследить за поведением кода.

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

[программирование](https://juliapetrenko60.wixsite.com/my-site-1/post/draculin-onlyfans-reddit-lins-petite-mixed-asian-pics) · [list[int](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [властвуй](https://ecency.com/@jakubkolar5653/arysbella-reddit-nude-onlyfans-leaked-photo-gallery-9a7d92) · [задачу](https://yakihonne.com/article/naddr1qvzqqqr4gupzqus0k4llm7uahphnu79ll5s98dnhvd8wymqeaxwd2qpzl07pz8j8qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknwwr9xgcxzvrx94jnjwp5956rwvf4943rsd3395mnqdpnxg6rycfcx5cnwcyc9jt) · [изменить](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [затем](https://clarasimon847.overblog.fr/2026/10/karina-garcia-oficial-videos-porno-calientes-de-la-modelo.html) · [pivot](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/factorial-dva-sposoba-mvdpxu6l.md) · [работает](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/nude-russian-model-sandra-orlow-9b63bc.pdf) · [Решение](https://news-ctl-posts.hashnode.dev/understanding-minimum-and-maximum-of-a-list-part-c2a3) · [известных](https://paste2.org/CFGx0O02) · [поведением](https://rentry.co/yeh6yt52) · [рекурсивно](https://cryptoradar.com/exchanges/binance) · [худшем](https://pen.absturztau.be/oz830f0e/bericbone-ai-doujin-gallery-featuring-explicit-anime-art) · [решение](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/nita-starsession-01311b.pdf) · [самых](https://radicle.network/nodes/index.radicle.garden/rad%3Az2Rb2xmjm3QZtaMT6QxLHKC5kH7Jy/issues/211bb4a263ceb57709c71abab89dfcdf770cfb1d) · [среднем](https://news-ctl-posts.hashnode.dev/step-by-step-the-caesar-cipher-part-0e4d) · [входные](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/secretstars-starsessions-dc590a.pdf) · [разберём](https://rentry.co/headscissor-club-994621) · [quicksort(left](https://rentry.co/meanbithes-241687) · [попробуйте](https://discuss.tchncs.de/post/65444966) · [middle](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/max-r34-71a3e4.pdf) · [данные](https://hey.xyz/posts/r5513kcrv1742mjjf6) · [равно](https://privatebin.devol.it/?313bde29d582b318#3rm7zarcnGHzWFqLFMixCFTkz1s9akBwYQBDRoe2fF9G) · [len(arr](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [быструю](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az3BtVQnQqVH8humuHcwRLkRruagvx/issues/55bbe878a3032997ed4654474858c1531e4013ff) · [элемент](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/secretstars-starsessions-da595b.pdf)

