Go 选择排序

思路:从左往右i=0,每次遍历找出最小的值,替换。接着从i=1开始,找出右侧最小,替换。接着i=2,依次类推...,
每次遍历选出剩余未排序数组中的最小值放到当前未排序数组最前面
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]
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容