// quicksort/quicksort.go package quicksort func QuickSort(source []int) []int { if len(source) < 2 { return source } pivot := source[0] var left, right []int for _, value := range source[1:] { if value < pivot { left = append(left, value) } else { right = append(right, value) } } mid := append([]int{pivot}, QuickSort(right)...) return append(QuickSort(left), mid...) } // main.go package main import ( "fmt" s "quicksort" ) func main() { arr := []int{34, 23, 6, 45, 67, 23, 124, 56, 9, 76, 23, 43, 9, 136, 765, 23, 4, 1, 98} fmt.Println(arr) sortArr := s.QuickSort(arr) fmt.Println(sortArr) }