package main
func quickSort(lst []int, low, high int) {
if low < high {
privot := partation(lst, low, high)
quickSort(lst, low, privot)
quickSort(lst, privot+1, high)
}
}
func partation(lst []int, low, high int) int {
privotKey := lst[low]
for low < high {
for low < high && privotKey <= lst[high] {
high--
}
lst[low], lst[high] = lst[high], lst[low]
for low < high && lst[low] < privotKey {
low++
}
lst[low], lst[high] = lst[high], lst[low]
}
return low
}
排序算法——快速排序
最新推荐文章于 2024-10-02 23:40:03 发布
本文详细介绍了如何在Go语言中实现快速排序算法,重点剖析了partition函数的工作原理,包括选择基准值、分区过程以及递归调用。
摘要由CSDN通过智能技术生成