選擇排序算法步驟:
找到數(shù)組中最小的那個(gè)元素中,
將它和數(shù)組的第一個(gè)元素交換位置,
在剩下的元素中找到最小的元素,將它和數(shù)組的第二個(gè)元素交換位置,
如此往復(fù),知道將整個(gè)數(shù)組排序。
逐步分析:
假設(shè)一個(gè)數(shù)組有 6 個(gè)元素,
[5, 1, 4, 3, 2, 6]
第 1 個(gè)元素為 5,與剩余 5 個(gè)元素相比,1 是最小的元素,所以 5 和 1 交換位置,
[1, 5, 4, 3, 2, 6]
第 2 個(gè)元素為 5,與剩余 4 個(gè)元素相比, 2 是最小的元素,所以 5 和 2 交換位置,
[1, 2, 4, 3, 5, 6]
第 3 個(gè)元素為 4,與剩余 3 個(gè)元素相比, 3 是最小的元素,所以 4 和 3 交換位置,
[1, 2, 3, 4, 5, 6]
不斷重復(fù)直到排好序。
def select_sort(arr): # 索引從 0 到 n-2 for i in range(len(arr) - 1): # 最小元素的索引 min = i # min 與從 i+1 到 n 的元素比較 j = i + 1 while j < len(arr): if arr[min] > arr[j]: # 找到最小的元素 min = j j += 1 # 交換位置 arr[i], arr[min] = arr[min], arr[i]a = [5, 1, 4, 3, 2, 6]select_sort(a)print(a)
總結(jié)
以上所述是小編給大家介紹的Python 實(shí)現(xiàn)選擇排序的算法步驟,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林站長(zhǎng)站網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
新聞熱點(diǎn)
疑難解答
圖片精選