Package Mainimport ("FMT") func main () {arr: = []int{ 1,2,5,8,7,4,3,6,9,0,12,13,45,78,89,56,23,11,12,23,56,89,79,46,13,00,11,22,11,22,33,66,88,77,44,44,11,10,26}// Fmt. Println (Len (arr)) fmt. Println (QuickSort (arr), Len (QuickSort (arr)))}func QuickSort (arr []int) []int{if len (arr) ==0 {return []int{}}qmiddle: = Arr[0]qleft: = QuickSort (Quickleft (arr, qmiddle)) Qright: = QuickSort (Quickright (arr,qmiddle)) return Append (Append ( Qleft,qmiddle), qright ...) List = append (slice, data) list = append (Slice1, slice2 ...)! Func quickleft (arr []int, Qmiddle int) []int{leftarr: = []int{}num: = Len (arr) for i:= 1; i < num; i++{if Arr[i] <= QM Iddle{leftarr = append (Leftarr,arr[i])}}return leftarr}func quickright (arr []int, Qmiddle int) []int{rightarr: = []int{} Num: = Len (arr) for j:= 1; J < num; J++{if Arr[j] > Qmiddle{rightarr = append (Rightarr,arr[j])}}return Rightarr}
Go recursive for fast rows