選択順序:
selectionSort-selection sort:それらを選択し、一緒にソートします。
-
昇順:メタコンテナ内の最小値を選択し、順番に並べます。
# 选出最小值 def findMinimum(arr): # Stores the Minimum minN = arr[0] # Stores the index of the Minimum minN_index = 0 for i in range(1, len(arr)): if arr[i] < minN: minN_index = i minN = arr[i] return minN_index # 选择排序 def selectionSort(arr): newArr = [] for i in range(len(arr)): # 选最小值,排一起 smallest = findMinimum(arr) newArr.append(arr.pop(smallest)) return newArr print(selectionSort([5, 3, 6, 2, 10]))
出力プリント:
[2, 3, 5, 6, 10]
-
降順
最小値を最大値に変更するだけですdef findMaximum(arr): maxN = arr[0] maxN_index = 0 for i in range(1, len(arr)): if arr[i] > maxN: maxN_index = i maxN = arr[i] return maxN_index
ヒント:特別なarr.pop(smallest)
文が必要です。つまり、見つかった最小値を元の配列から削除する必要があり、次の選択には参加しません。