乐趣区

关于数据结构和算法:数据结构快速排序

疾速排序是效率比拟高的一种排序算法,其思维次要是递归

package main

import "fmt"

func QuickSort(left int, right int, arr *[6]int) {
    l := left
    r := right
    pivot := arr[(left + right) / 2]
    for ; l < r; {for ; arr[l] < pivot; {l++}
        for ; arr[r] > pivot; {r--}
        if l >= r {break}
        arr[r], arr[l] = arr[l], arr[r]
        if arr[l] == pivot {r--}
        if arr[r] == pivot {l++}
    }
    if l==r {
        l++
        r--
    }
    if left < r {QuickSort(left, r, arr)
    }
    if right > l {QuickSort(l, right, arr)
    }
}

func main(){arr := [6]int{-9, 78, 0, 23, -57, 70}
    fmt.Println(arr)
    QuickSort(0, len(arr) - 1, &arr)
    fmt.Println(arr)

}

输入:

[-9 78 0 23 -57 70]
[-57 -9 0 23 70 78]
退出移动版