选择排序,平均时间复杂度:O(n2) ;
最坏时间复杂度:O(n2);
空间复杂度:O(1);
是否稳定:不稳定
# 找出数组中最小的数
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
# 测试数据
print(selectionSort([5, 3, 6, 2, 10]))