基础思维:
以第一个元素为基准,
func quickSortPart(vData []int, left, right int) {
if left >= right {
return
}
i,j:=left,right
key:=vData[left]
p:=left
for {
if i > j {
break
}
for j >= p && vData[j] >= key {
j--
}
if j >= p {
vData[p] = vData[j]
p=j
}
for i <= p && vData[i] <= key {
i++
}
if i <= p {
vData[p] = vData[i]
p = i
}
}
vData[p] = key
quickSortPart(vData,left,p-1)
quickSortPart(vData,p+1,right)
}
func QuickSort(vData []int) {
if len(vData) == 0 {
return
}
quickSortPart(vData, 0, len(vData) - 1)
}