随着排序的进行,每次须要检查的元素在逐渐减小,最后一次须要检查的元素都只有一个。以下,先实现一个查找最小元素的方法,而后进行新数组的生成。数组
一、数值排序app
def findSmallest(arr):
smalllest = arr[0]
smalllest_index = 0
for i in range(1,len(arr)):
if arr[i] < smalllest:
smalllest = arr[i]
smalllest_index = i
return smalllest_index
def selecttionSort(arr):
newArr = []
for i in range(len(arr)):
smallest = findSmallest(arr)
print(arr)
newArr.append(arr.pop(smallest))
return newArr
print(selecttionSort([5,3,6,2,10]))
二、乐队排序
def paixu(yuedui): smallest_value = yuedui[0] smallest_key = 0 for i in range(len(yuedui)): if yuedui[i][1] < smallest_value[1]: smallest_key = i return smallest_keydef solution(arr): newArry = [] for i in range(0, len(arr)): newArry.append(arr.pop(paixu(arr))) return newArryyuedui = [ ("夜曲", 30), ("晴天", 20), ("断了的弦", 33), ("漂移", 35), ("青花瓷", 36),]print(solution(yuedui))