快速排序
package main
import "fmt"
func quickSort(nums []int, star, end int) {
if star > end {
return
}
i, j := star, end
key := nums[star]
for i < j {
for i < j && nums[j] > key {
j--
}
for i < j && nums[i] <= key {
i++
}
if i < j {
nums[i], nums[j] = nums[j], nums[i]
}
}
nums[star], nums[i] = nums[i], key
quickSort(nums, star, i-1)
quickSort(nums, i+1, end)
}
func main() {
nums := []int{2, 5, 6, 1, 8, 9}
quickSort(nums, 0, len(nums)-1)
for _, i := range nums {
fmt.Println(i)
}
}
本文介绍了快速排序算法的基本原理及其实现过程。通过一段Go语言代码展示了如何进行数组排序,并在最后进行了排序结果的打印。快速排序是一种高效的排序算法,平均时间复杂度为O(n log n)。
285

被折叠的 条评论
为什么被折叠?



