This is a created article in which the information may have evolved or changed.
Quicksortpackage mainimport ("FMT" "Math/rand" "Time") func swap (a int, b int) (int, int) {return B, A}func partition (Aris []int, begin int, end int) int {pvalue: = aris[begin]i: = Beginj: = begin + 1for J < End {if ARIS[J] < pvalue {I++a Ris[i], aris[j] = Swap (Aris[i], aris[j])}j++}aris[i], aris[begin] = Swap (Aris[i], Aris[begin]) return I}func Quick_sort ( Aris []int, begin int, end int) {if begin+1 < end {mid: = partition (Aris, begin, end) Quick_sort (Aris, begin, mid) Quick_ Sort (Aris, mid+1, end)}}func Rand_array (Aris []int, lent int) {for i: = 0; i < lent; i++ {r: = rand. New (Rand. Newsource (time. Now (). Unixnano ())) aris[i] = R.INTN (+)}}func main () {intas: = []int{0, 0, 0, 0, 7, ten, 4,, 1, 22}rand_array (intas) FMT.P Rintln (Intas) quick_sort (intas, 0, ten) fmt. Println (Intas)}