> For the complete documentation index, see [llms.txt](https://trizen.gitbook.io/sidef-lang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://trizen.gitbook.io/sidef-lang/programming_tasks/s/sorting-algorithms/quicksort.md).

# Quicksort

```ruby
func quicksort (a) {
    a.len < 2 && return(a)
    var p = a.pop_rand           # to avoid the worst cases
    __FUNC__(a.grep{ .< p}) + [p] + __FUNC__(a.grep{ .>= p})
}

say quicksort(rand(1..100, 10))
```
