美文网首页
go(冒泡排序)

go(冒泡排序)

作者: 小王同学123321 | 来源:发表于2022-03-31 10:06 被阅读0次
    package main
    
    import "fmt"
    
    //冒泡排序循环一次输出最大值
    func BubblesortMax(arr []int) int{
        length := len(arr)
        if length <= 1{
            return arr[0]
        }
        for i:=0;i<length-1;i++{
            if arr[i] > arr[i+1]{
                arr[i],arr[i+1] = arr[i+1],arr[i]
            }
        }
        fmt.Println(arr)
        return arr[length-1]
    }
    //冒泡排序
    //从左往右循环依次将最大值存入最右方
    func BubbleSortMax1(arr []int) []int{
        length := len(arr)
        if length <= 1{
            return arr
        }
        for i:=0;i<length-1;i++{
            for j:=0;j<length-1-i;j++{
                if arr[j]>arr[j+1]{
                    arr[j],arr[j+1]=arr[j+1],arr[j]
                }
            }
        }
        fmt.Println(arr)
        return arr
    }
    
    //从左往右循环依次将最小值存入最右方
    func BubbleSortMax2(arr []int) []int{
        length := len(arr)
        if length <= 1{
            return arr
        }
        for i:=0;i<length-1;i++{
            fmt.Println("before:",arr)
            for j:=0;j<length-1-i;j++{
                if arr[j]<arr[j+1]{
                    arr[j],arr[j+1]=arr[j+1],arr[j]
                }
            }
            fmt.Println("after:",arr)
        }
        return arr
    }
    
    //从右往左循环依次将最大值存入最左方
    func BubbleSortMax3(arr []int) []int{
        length := len(arr)
        if length <= 1{
            return arr
        }
        for i:=length;i>=0;i--{
            fmt.Println("before:",arr)
            for j:=length-1;j>=length-i+1;j--{
               if arr[j]>arr[j-1]{
                   arr[j],arr[j-1]=arr[j-1],arr[j]
               }
            }
            fmt.Println("after:",arr)
        }
        fmt.Println(arr)
        return arr
    }
    
    //从右往左循环依次将最小值存入最左方
    func BubbleSortMax4(arr []int) []int{
        length := len(arr)
        if length <= 1{
            return arr
        }
        for i:=length;i>=0;i--{
            fmt.Println("before:",arr)
            for j:=length-1;j>=length-i+1;j--{
                if arr[j]<arr[j-1]{
                    arr[j],arr[j-1]=arr[j-1],arr[j]
                }
            }
            fmt.Println("after:",arr)
        }
        fmt.Println(arr)
        return arr
    }
    
    func main(){
        arr := []int{232,1,19,11,29, 30, 2, 5, 45, 8, 234, 12, 63}
        //fmt.Println(BubblesortMax(arr))
        fmt.Println(BubbleSortMax4(arr))
    }
    

    相关文章

      网友评论

          本文标题:go(冒泡排序)

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