golang实现冒泡排序算法

本小妞迷上赌 提交于 2020-02-26 16:30:38
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
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!