选择排序 ----Python
选择排序必须每次检查列表中的每个元素,需要的总时间为O(n x n),即O(n2)
def findSmallest(arr):
#存储最小的值
smallest = arr[0]
#存储最小元素的索引
smallest_index = 0
for i in range(len(arr)):
if smallest > arr[i]:
smallest = arr[i]
smallest_index = i
return smallest_index
def selectionSort(arr):
result = []
for i in range(len(arr)):
#找到数组中最小的元素,并将其加入到新的数组中
index = findSmallest(arr)
result.append(arr.pop(index))
return result
list1 = [1, 8, 5, 6, 3]
print(selectionSort(list1))
结果:[1, 3, 5, 6, 8]