Go 選擇排序

思路:從左往右i=0,每次遍歷找出最小的值,替換。接著從i=1開始,找出右側(cè)最小,替換。接著i=2,依次類推...,
每次遍歷選出剩余未排序數(shù)組中的最小值放到當(dāng)前未排序數(shù)組最前面
package main
import "fmt"
func main() {
    arr := []int{3,2,1,5,3,3,3,4,4,4,0}
    choose_order(arr)
    fmt.Println(arr)
}
func choose_order(arr []int){

    m := len(arr);
    
    for i:=0;i<m-1;i++{
        
        positon := i
        
        for j:=i+1;j<m;j++{

           if(arr[j]<arr[positon]){
              positon = j 
           }
            
        }
        
        arr[i],arr[positon] = arr[positon],arr[i]
        
    }

}

輸出
[0 1 2 3 3 3 3 4 4 4 5]
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容