算法图解——02.选择排序
时间复杂度:O(n²)
# 选择排序
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
test1 = [5, 3, 6, 2, 10]
show_test1 = selectionSort(test1)
print(show_test1)