您的位置:首页 > 编程语言 > Go语言

图解算法练习--快速排序(GO实现)

2017-09-13 14:36 239 查看
图解算法第二章快速排序使用GO语言实现,仅供参考,错误之处,欢迎联系我纠正

package main

import (
"fmt"
)

func main() {
fmt.Println(quickSort([]int{99, 93, 33, 55, 63, 23, 44, 32, 43, 312}))
fmt.Println(quickSort([]int{3, 5, 3}))
fmt.Println(quickSort([]int{1}))
fmt.Println(quickSort([]int{}))
}

func quickSort(list []int) []int {
if len(list) >= 2 {
middle := list[0]
less := []int{}
greater := []int{}
for _, item := range list[1:] {
if item >= middle {
greater = append(greater, item)
} else {
less = append(less, item)
}
}
result := append(append(quickSort(less), middle), quickSort(greater)...)
return result
} else {
return list
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息