中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

[golang] 數據結構-簡單選擇排序

發布時間:2020-08-02 05:53:16 來源:網絡 閱讀:663 作者:NicoChen 欄目:編程語言

原理
簡單選擇排序應該是最直觀最容易理解的排序方法了。
直接從頭開始一個一個去比,找出最小的放到最左邊。再依次完成其他位的排序。

時間復雜度
比較次數固定為O(n^2),數據交換次數是0~n-1次
因為會交換不同位置相同數值的數據,所以選擇排序并不穩定

代碼實現

package main

import (
    "fmt"
)

func main() {
    var length = 10
    var mm = make(map[int]int, length)
    var o []int

    // 先準備一個順序隨機的數(qie)組(pian)
    for i := 0; i < length; i++ {
        mm[i] = i
    }
    for k, _ := range mm {
        o = append(o, k)
    }

    fmt.Println(o)

    // 兩次循環找到最小的排前面
    for i := 0; i < length; i++ {
        min := i
        for j := length - 1; j >= i; j-- {
            if o[j] < o[min] {
                min = j
            }
        }

        // 當前就是最小值時就不交換了
        if min == i {
            continue
        }

        // 順序交換
        o[i], o[min] = o[min], o[i]

        fmt.Println(o)
    }
}

運行結果
[golang] 數據結構-簡單選擇排序

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汉川市| 尼勒克县| 自贡市| 玛多县| 元阳县| 武宣县| 罗源县| 环江| 丹江口市| 祁门县| 台中市| 朝阳市| 宜宾市| 林周县| 高邑县| 六安市| 固原市| 连南| 门头沟区| 海伦市| 孟州市| 绥芬河市| 宁津县| 新野县| 松原市| 沂水县| 肇东市| 嫩江县| 尼勒克县| 乡城县| 潜山县| 社会| 凌云县| 青田县| 刚察县| 双峰县| 新营市| 汤阴县| 聂荣县| 霸州市| 黄浦区|