// 冒泡排序
func bubbleSort(nums []int) {
size := len(nums)
for i := 0; i < size - 1; i++ {
for j := i + 1; j < size; j++ {
if nums[j] < nums[i] {
nums[i], nums[j] = nums[j], nums[i]
}
}
}
}
// 选择排序
func selectSort(nums []int) {
size := len(nums)
idx := 0
for i := 0; i < size - 1; i++ {
idx = i
for j := i + 1; j < size; j++ {
if nums[j] < nums[idx] {
idx = j
}
}
if idx != i {
nums[i], nums[idx] = nums[idx], nums[i]
}
}
}
// 快速排序
func quickSort(nums []int, left, right int) {
tmp := nums[left]
i, j := left, right
for i < j {
for i < j && nums[j] >= tmp {
j--
}
nums[i] = nums[j]
for i < j && nums[i] <= tmp {
i++
}
nums[j] = nums[i]
}
nums[i] = tmp
if i > left + 1 {
quickSort(nums, left, i - 1)
}