golang 排序算法

吃可爱长大的小学妹 提交于 2020-10-25 00:07:04
package main

import "fmt"

// 从小到大
func Order(arr *[10]int) {
    // 每次排出一个最大的,排完所有需要 length - 1 次
    for i := 0; i < len(arr)-1; i++ {
        // 从头开始两两比较,并将较大的排后
        for j := 0; j < len(arr)-1; j++ {
            // 将较大的元素排后
            if arr[j] > arr[j+1] {
                // 交换位置
                arr[j], arr[j+1] = arr[j+1], arr[j]
            }
        }
        fmt.Println(i, arr)
    }
}

func main() {
    arr := [10]int{9, 3, 5, 1, 6, 0, 2, 7, 4, 8}
    Order(&arr)
    fmt.Println(arr)
}
/*
0 &[3 5 1 6 0 2 7 4 8 9]
1 &[3 1 5 0 2 6 4 7 8 9]
2 &[1 3 0 2 5 4 6 7 8 9]
3 &[1 0 2 3 4 5 6 7 8 9]
4 &[0 1 2 3 4 5 6 7 8 9]
5 &[0 1 2 3 4 5 6 7 8 9]
6 &[0 1 2 3 4 5 6 7 8 9]
7 &[0 1 2 3 4 5 6 7 8 9]
8 &[0 1 2 3 4 5 6 7 8 9]
[0 1 2 3 4 5 6 7 8 9]
*/
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!