go语言快速排序实例
这篇文章主要为大家详细介绍了go语言的快速排序,文中示例代码介绍的非常详细,零基础也能参考此文章,感兴趣的小伙伴们可以参考一下。
package mainimport ( "fmt" "strconv")func quickSort(arr []int, low, high int) { if low < high { var pivot = partition(arr, low, high) quickSort(arr, low, pivot) quickSort(arr, pivot + 1, high) }}func partition(arr []int,low,high int) int { var pivot = arr[low] var i = low var j= high // 6 5 4 3 2 1 // 6 1 2 3 4 7 for i< j{ for arr[j] >= pivot && j > low { j-- } // for arr[i]<= pivot && i<high{ i++ } if i<j { arr[i],arr[j]=arr[j],arr[i] } } arr[low],arr[j] = arr[j],pivot // return j}func printArray(arr []int) { for i := 0; i < len(arr); i++ { fmt.Print(strconv.Itoa(arr[i]) + " ") } fmt.Println("")}func main() { var arr = []int { 15, 3, 12, 6, -9, 9, 0,8,8 } fmt.Print("Before Sorting: ") printArray(arr) quickSort(arr, 0, len(arr) - 1) fmt.Print("After Sorting: ") printArray(arr)}
以上就是go语言快速排序的方法介绍,详细使用情况还得要大家自己使用过才能知道具体要领。如果想阅读更多相关内容的文章,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。