Golang快速排序算法
发布时间:2020-12-16 19:27:05 所属栏目:大数据 来源:网络整理
导读:package mainimport ("fmt")func QSort(arr []int,start int,end int) {var (key int = arr[start]low int = starthigh int = end)for {for low high {if arr[high] key {arr[low] = arr[high]break}high--}for low high {if arr[low] key {arr[high] = arr[
package main import ( "fmt" ) func QSort(arr []int,start int,end int) { var ( key int = arr[start] low int = start high int = end ) for { for low < high { if arr[high] < key { arr[low] = arr[high] break } high-- } for low < high { if arr[low] > key { arr[high] = arr[low] break } low++ } if low >= high { arr[low] = key break } } if low-1 > start { QSort(arr,start,low-1) } if high+1 < end { QSort(arr,high+1,end) } } func main() { arr := []int{5,1,3,9,8,7,4,6} QSort(arr,len(arr)-1) fmt.Println(arr) }
如果转载请注明出处:http://blog.csdn.net/gophers/article/details/23346587 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |