选择排序:
selectionSort–选择排序:选出来,排一起。
-
升序:选出元容器中最小值,依次站好。
# 选出最小值 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)一句话,表示找出的最小值需要从原数组中挪走,不参加下次选择。
博客介绍了选择排序,升序排序是选出元容器中最小值依次排列,降序排序则把找最小值换成找最大值。同时提示找出的最小值需从原数组挪走,不参与下次选择。
790

被折叠的 条评论
为什么被折叠?



