亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

[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

建湖县| 巴青县| 昌图县| 江陵县| 西青区| 镇宁| 安新县| 平泉县| 乌拉特前旗| 张家川| 房产| 石泉县| 青浦区| 马山县| 扎鲁特旗| 清镇市| 乐东| 信阳市| 贡觉县| 大化| 定襄县| 洛扎县| 三河市| 张家口市| 万载县| 临武县| 许昌县| 财经| 彭州市| 礼泉县| 惠安县| 东丰县| 湘阴县| 扶余县| 乐亭县| 延长县| 永丰县| 赤城县| 古田县| 肥城市| 莒南县|