go(冒泡排序)

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))
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容