package main
import "fmt"
func qs(l, r int, a []int) {
if l >= r {
return
}
i := l
j := r
k := int((l + r) / 2)
for a[i] < a[k] {
i++
}
for a[j] > a[k] {
j--
}
if i <= j {
t := a[i]
a[i] = a[j]
a[j] = t
i++
j--
}
qs(l, j, a)
qs(i, r, a)
}
func main() {
a := []int{88, 5, 4, 2, 7, 1, 2, 7, 2, 4}
qs(0, len(a)-1, a)
fmt.Println(a)
}