选择排序是一种较快的排序算法,算法复杂的为O(n^2)。
代码如下:
def findSmallest(arr):
smallest = arr[0]
smallest_index = 0
for i in range(1,len(arr)):
if arr[i] < smallest:
smallest = arr[i]
smallest_index = i
return smallest_index
def selectionSort(arr):
newArr = []
for i in range(len(arr)):
smallest = findSmallest(arr)
newArr.append(arr.pop(smallest))
return newArr
if __name__ == '__main__':
print(selectionSort([2, 1, 5, 4, 3]))
结果为[1,2,3,4,5]