go 快排

作者: 晓得为_ | 来源:发表于2022-02-09 17:26 被阅读0次
    package main
    
    import "fmt"
    
    func main() {
        testSort()
    }
    
    func testSort() {
        slicData := []int{3, 2, 4, 5, 6, 6, 7, 8, 3, 2, 1}
        fmt.Println("brfore", slicData)
    
        quickSortRefer(slicData, 0, len(slicData)-1)
        fmt.Println("brfore", slicData)
    }
    
    func quickSortRefer(slicData []int, strt int, end int) {
        l := strt
        r := end
        if r > l {
            mid := slicData[l]
            for l < r {
                for (l < r) && mid <= slicData[r] {
                    r--
                }
                slicData[l] = slicData[r]
                slicData[r] = mid
    
                for (l < r) && mid >= slicData[l] {
                    l++
                }
                slicData[r] = slicData[l]
                slicData[l] = mid
    
            }
            quickSortRefer(slicData, 0, l-1)
            quickSortRefer(slicData, l+1, end)
        }
    }
    
    func test1() {
        list := []int{1, 2, 3}
        var res *int
        for k, v := range list {
            if v == 1 {
                fmt.Println("33333333", k, v)
                res = &list[k]
            }
        }
        fmt.Println("33333333", *res)
    }
    

    相关文章

      网友评论

          本文标题:go 快排

          本文链接:https://www.haomeiwen.com/subject/gomkultx.html