go 排序算法
2021-03-17 21:24
标签:大于等于 一个 算法 数组 fun 处理 func 插入 位置 // 排序函数 func sortarr(arr *[]int) *[]int { } func main() { func sortarr(arr []int) []int { } func main() { } func sortarr(left int,right int,arr []int) []int { } func main() { go 排序算法 标签:大于等于 一个 算法 数组 fun 处理 func 插入 位置 原文地址:https://blog.51cto.com/qingfeng00/2549820for i := 1; i
arr := []int{10,1,3,6,4,2,100,30,5,80,8,7}
a := sortarr(&arr)
fmt.Println(a)
}2. 顺序排序
for j := 0;j
arr := []int{10,1,3,6,4,2,100,30,5,80,8,7}
a := sortarr(&arr)
fmt.Println(*a)3. 快速排序
l := left
r := right
p := (*arr)[(l+r)/2]
for l p {
l++
}
for (*arr)[r] = r{
break
}
(*arr)[l],(*arr)[r] = (*arr)[r],(*arr)[l]
if (*arr)[l] == p{
r--
}
if (*arr)[r] == p{
l++
}
}
if l == r{
r--
l++
}
if left l{
sortarr(l, right, arr)
}
return arr
arr := []int{10,1,3,6,4,2,100,30,5,80,8,7}
a := sortarr(0,len(arr)-1,&arr)
fmt.Println(a)
}