分享
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
# 快速排序GO实现
## code
```golang
package main
import "fmt"
func main() {
arrs := []int{3,5,2,5,7,1,3,5,25,2,15}
fmt.Printf("before arr: %v\n", arrs)
quick_sort(arrs, 0, len(arrs)-1)
fmt.Printf("after arr: %v\n", arrs)
}
func quick_sort(arr []int, l int, r int) {
if l >= r {
return
}
var left, right int = l-1, r+1
mid := (l + r) / 2
x := arr[mid]
for left < right {
left ++
for arr[left] < x {
left ++
}
right --
for arr[right] > x {
right --
}
if left < right {
arr[left], arr[right] = arr[right], arr[left]
}
}
// fmt.Printf("temp arr: %v\n", arr)
// fmt.Printf("left is %d \n", left)
// fmt.Printf("right is %d \n", right)
quick_sort(arr, l, right)
quick_sort(arr, right+1, r)
}
```
## 打印结果
before arr: [3 5 2 5 7 1 3 5 25 2 15]
after arr: [1 2 2 3 3 5 5 5 7 15 25]
有疑问加站长微信联系(非本文作者))
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1480 次点击
下一篇:深度剖析分布式事务性能
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传