演算法 選擇排序(go語言實現)

2021-10-06 01:18:02 字數 456 閱讀 7365

選擇排序與氣泡排序的時間複雜度相同。因為一直在選擇最小的數字,所以叫選擇排序

理論部分:

1,將設陣列0號位為陣列最小值,將其定義為minnum

此時 minnum=5

2,遍歷陣列,將每一項和 minnum 對比,如果小於minnum,則將其與第一項調換位置

並重新賦值 minnum

變換為此時 minnum=4

。。。重複以上步驟

**實現:

// 選擇排序

func

selectsort()

iter_print

(sort_init...

)for i :=

0; i <

len(sort_init)

; i++}}

iter_print

(sort_init...

)}

go語言實現排序 選擇排序

大家都知道我們一般不會用直接選擇排序,因為時間複雜度比較高,相信大家對直接插入排序都不陌生,就是每次確定乙個當前的最小值或者最大值,我也在這個基礎上進行了一點小改進,即每次都確定乙個最大值和最小值 func selectsort nums int,n int int nums min nums fi...

氣泡排序和選擇排序(Go語言實現)

氣泡排序和選擇排序是排序演算法中比較簡單和容易實現的演算法。氣泡排序的思想為 每一次排序過程,通過相鄰元素的交換,將當前沒有排好序中的最大 小 移到陣列的最右 左 端。而選擇排序的思想也很直觀 每一次排序過程,我們獲取當前沒有排好序中的最大 小 的元素和陣列最右 左 端的元素交換,迴圈這個過程即可實...

Go語言實現 常見排序演算法

氣泡排序 時間複雜度 o n 2 穩定性 穩定 氣泡排序 相鄰兩位交換,12交換,23交換,34交換,把最大的數放到最右邊 利用flag標記可以避免無效迴圈 func bubblesort arr int true表示序列已經有序,直接退出,不用繼續迴圈 false表示本次迴圈發生了交換,需要繼續判...