選擇排序

排序之選擇排序
原理講解: http://www.itdecent.cn/p/fd0bf15ba55f

go代碼實現(xiàn):

package main

import (
    "fmt"
)
/*
選擇排序:每一輪循環(huán)找到最小的元素,然后交換
 */
func selection_sort(a []int) {
    for i := 0; i < len(a); i++ {
        index := i
        for j := i + 1; j < len(a); j++ {
            if a[j] < a[index] {
                index = j
            }
        }
        if index != i {
            temp := a[i]
            a[i] = a[index]
            a[index] = temp
        }
    }
}
func main() {
    a := []int{1,3,5,2,1}
    fmt.Println(a)
    selection_sort(a)
    fmt.Println(a)
}

運行結果:

GOROOT=C:\Go #gosetup
GOPATH=F:\goPath #gosetup
C:\Go\bin\go.exe build -o C:\Users\windows10\AppData\Local\Temp\___go_build_selection_sort_go.exe F:/code/test/selection_sort/selection_sort.go #gosetup
C:\Users\windows10\AppData\Local\Temp\___go_build_selection_sort_go.exe #gosetup
[1 3 5 2 1]
[1 1 2 3 5]

Process finished with exit code 0
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容