快速排序

99 阅读1分钟

给基准数据找其对应的索引位置

把基准数大的都放在基准数右边,比基准数小的都放在基准数左边,这样就找到了基准数在数组中的正确位置


func quickSort(arr []int, i, j int) {
	if i >= j {
		return
	}
	begin := i
	end := j
	tmp := arr[i]
	for i < j{
		for i < j && arr[j] >= tmp {
			j--
		}
		arr[i] = arr[j]
		for i < j && arr[i] <= tmp {
			i++
		}
		arr[j] = arr[i]
	}
	arr[i] = tmp
	quickSort(arr, begin, i - 1)
	quickSort(arr, i + 1, end)
}