package main import "fmt" func quicksort(A []int) []int { if len(A) < 2 { return A } left := 0 right := len(A) - 1 for i := 0; i < len(A)-1; i++ { if A[i] < A[right] { A[i], A[left] = A[left], A[i] left++ } } A[left], A[right] = A[right], A[left] quicksort(A[:left]) quicksort(A[left+1:]) return A } func main() { unsorted := []int{5, 3, 2, 8, 6, 1, 4} fmt.Printf("Unsorted: %v\n", unsorted) fmt.Printf("Sorted : %v\n", quicksort(unsorted)) }