91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

[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

汾阳市| 托克逊县| 尼勒克县| 曲阳县| 盐源县| 章丘市| 天祝| 南皮县| 大余县| 色达县| 七台河市| 化隆| 三河市| 济宁市| 阿巴嘎旗| 武城县| 肥城市| 湘乡市| 会同县| 水富县| 黔江区| 常德市| 即墨市| 泊头市| 新竹市| 沙坪坝区| 资中县| 东阳市| 阿拉尔市| 马尔康县| 克什克腾旗| 利川市| 阳曲县| 南木林县| 雅安市| 伊金霍洛旗| 阳城县| 安康市| 平昌县| 静乐县| 宝丰县|