go_排序算法_奇偶排序

时间:2021-03-05 13:26:07   收藏:0   阅读:0

奇偶排序

核心思想:奇数位和偶数位的数据交替比较,最终实现排序

代码实现:
package main

import "fmt"

func IsSort(arr []int) []int {
flag := false
if len(arr) <= 1 {
return arr
}
for flag == false {
flag = true
for i := 0; i < len(arr)-1; i = i + 2 {
if arr[i] > arr[i+1] {
arr[i], arr[i+1] = arr[i+1], arr[i]
flag = false
}
}

	for i := 1; i < len(arr)-1; i = i + 2 {
		if arr[i] > arr[i+1] {
			arr[i], arr[i+1] = arr[i+1], arr[i]
			flag = false
		}
	}
}
return arr

}

func main() {
arr := []int{5, 555, 4, 7, 5, -7, 99}
fmt.Println(IsSort(arr))
}

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!