Go 语言学习笔记:快速排序的实现

Golang

golang 中 slice 的便捷操作使排序也更加方便,这是一个使用递归完成的快排。

func quickSort(arr []int) []int {
    if len(arr) <= 1 {
        return arr
    }
    index := len(arr) / 2

    var left, right []int
    for i, v := range arr {
        if i == index {
            continue
        }
        if v <= arr[index] {
            left = append(left, v)
            continue
        }
        right = append(right, v)
    }
    return append(append(quickSort(left), arr[index]), quickSort(right)...)
}
创建于2017年06月21日 15:35
阅读量 647
留言列表

暂时没有留言

添加留言