go语言快速排序实例

这篇文章主要为大家详细介绍了go语言的快速排序,文中示例代码介绍的非常详细,零基础也能参考此文章,感兴趣的小伙伴们可以参考一下。

创新互联公司是一家专业提供永清企业网站建设,专注与成都网站制作、成都做网站、外贸营销网站建设H5技术、小程序制作等业务。10年已为永清众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

package main

import (
    "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语言快速排序的方法介绍,详细使用情况还得要大家自己使用过才能知道具体要领。如果想阅读更多相关内容的文章,欢迎关注创新互联行业资讯频道!

网页标题:go语言快速排序实例
转载源于:https://www.cdcxhl.com/article38/iecopp.html

成都网站建设公司_创新互联,为您提供关键词优化营销型网站建设网站排名小程序开发网站营销搜索引擎优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设