package alg
//冒泡排序
func Bubbling(arr []int) []int {
len := len(arr)
if len <= 1 {
return arr
}
for i := 0; i < len; i++ {
//提前退出冒泡循环的标志位
flag := false
//len-i-1 减去已经排好序,不用再循环无畏的值
for j := 0; j < len-i-1; j++ {
//交换值
if arr[j] > arr[j+1] {
tmp := arr[j]
arr[j] = arr[j+1]
arr[j+1] = tmp
//标识符
flag = true
}
}
if !flag {
break;
}
}
return arr
}
来源:oschina
链接:https://my.oschina.net/hackdebug/blog/3158298