奇偶排序
奇偶排序的思想核心
关键词:奇数
、偶数
、冒泡
奇偶排序其实就是循环,将奇数
、偶数
分别做冒泡排序
。
代码实现
func OddEvenSort(arr []int) []int {
length := len(arr)
// 标记
isSorted := false
for isSorted == false {
isSorted = true
// 从奇数位开始交换
for i := 1; i < length-1; i = i + 2 {
if arr[i] > arr[i+1] {
arr[i], arr[i+1] = arr[i+1], arr[i]
isSorted = false
}
}
fmt.Println("奇数finish", arr)
// 从偶数位开始交换
for i := 0; i < length-1; i = i + 2 {
if arr[i] > arr[i+1] {
arr[i], arr[i+1] = arr[i+1], arr[i]
isSorted = false
}
}
fmt.Println("偶数finish", arr)
}
return arr
}