package main
import "fmt"
func partition(a []int , l int ,r int) int {
pivot := a[l]
for l < r {
for l < r && a[r] >= pivot {
r--
}
a[l] = a[r]
for l < r && a[l] <= pivot {
l++
}
a[r] = a[l]
}
a[l] = pivot
return l
}
func quickSort(a []int, l int, r int) {
if l < r {
index := partition(a, l, r)
quickSort(a, l, index - 1)
quickSort(a, index+1, r)
}
}
func main() {
a := []int{1,2,88,2,5,77777,8909,2809}
fmt.Println("before sort show the vector:")
fmt.Println(a)
quickSort(a, 0, len(a) -1)
fmt.Println("after sort show the vector:")
fmt.Println(a)
}