美文网首页
冒泡排序

冒泡排序

作者: hszz | 来源:发表于2020-11-05 10:40 被阅读0次

    排序方法

    相邻两个数比较, 第一个数大于第二个数就交换位置,从第一对数到最后一对为一轮,重复多轮直到排序完成。
    每一轮都会把最大的数放在最后面。和冒泡一样。

    复杂度

    • 平均时间复杂度:T(n) = O(n2)
    • 最佳情况:T(n) = O(n)
    • 最坏情况:T(n) = O(n2)
    • 空间复杂度:O(1)
    • 稳定性:稳定
    • 排序方式:In-place

    golang代码实现

    package main
    
    import "fmt"
    
    // 冒泡排序
    func BubbleSort(arr []int)  {
        if len(arr) == 0 {
            return
        }
    
        for i := 0; i < len(arr); i++ {
            for j := 0; j < len(arr)-i-1; j++ {
                if arr[j+1] < arr[j] {
                    temp := arr[j]
                    arr[j] = arr[j+1]
                    arr[j+1] = temp
                }
            }
        }
    }
    
    func main()  {
        arr := []int{33,11,55,7,44,1}
        BubbleSort(arr)
        fmt.Println(arr)
    }
    

    相关文章

      网友评论

          本文标题:冒泡排序

          本文链接:https://www.haomeiwen.com/subject/yyigvktx.html