前面我们讲解了什么是快排算法
现在我们用go语言来实现下:
注意,go语言中没有while,可以使用以下格式来代替
for{
if(条件){
******
}else{
break
}
}
具体代码如下
package main
import "fmt"
func quickSort(theArray []int, start int, end int)[]int {
if (start<end){
m, n := start, end
base := theArray[m]
for {
if (m < n){
for{
if((m < n)&&(theArray[n]>=base)){
n--
}else{
theArray[m] = theArray[n]
break
}
}
for{
if((m < n)&&(theArray[m]<=base)){
m++
}else{
theArray[n] = theArray[m]
break
}
}
}else{
break
}
theArray[m] = base
quickSort(theArray, start, m-1)
quickSort(theArray, n+1, end)
}
}
re