N
Size: a a a
N
ГС
N
N
T
N
k
k
k
var qsort func(left, right int)
func Quicksort(array []int) {
partition := func(left, right int) int {
pivot := array[right]
i := left
for j := left; j < right; j++ {
if array[j] < pivot {
array[i], array[j] = array[j], array[i]
i++
}
}
array[i], array[right] = array[right], array[i]
return i
}
qsort = func(left, right int) {
if right <= left {
return
}
p := partition(left, right)
qsort(left, p-1)
qsort(p+1, right)
}
qsort(0, len(array)-1)
}
O
var qsort func(left, right int)
func Quicksort(array []int) {
partition := func(left, right int) int {
pivot := array[right]
i := left
for j := left; j < right; j++ {
if array[j] < pivot {
array[i], array[j] = array[j], array[i]
i++
}
}
array[i], array[right] = array[right], array[i]
return i
}
qsort = func(left, right int) {
if right <= left {
return
}
p := partition(left, right)
qsort(left, p-1)
qsort(p+1, right)
}
qsort(0, len(array)-1)
}
O
S
S
.
DM
tb
ГС