package algorithm
func QuickSort(arr []int, p int, q int) {
if p < q {
i := partation(arr, p, q)
QuickSort(arr, p, i-1)
QuickSort(arr, i+1, q)
}
}
func partation(arr []int, p int, q int) int {
i := p
x := arr[p]
for j := p + 1; j <= q; j++ {
if arr[j] < x {
i = i + 1
arr[i], arr[j] = arr[j], arr[i]
}
}
arr[p], arr[i] = arr[i], arr[p]
return i
}