go 算法之冒泡算法

package main

import "fmt"

//冒泡排序 升序
//每轮都是相邻的两个元素两两比较,把最大的元素升到最后

func maopao(arr []int) []int {
    //列表长度
    len := len(arr)
    //外层控制比较轮数
    for i := 1; i < len; i++ {
        //内层控制比较的下标
        for j := 0; j < len-i; j++ {
            if arr[j] > arr[j+1] {
                temp := arr[j]
                arr[j] = arr[j+1]
                arr[j+1] = temp
            }
        }
    }
    return arr
}

//选择排序
func main() {
    list := []int{9, 2, 87, 547, 39, 3, 6, 1}
    res := maopao(list)
    fmt.Println(res)
}

 

上一篇:AOP的三种实现方法


下一篇:Go语言之面向对象编程(二)