一般选择排序的时间复杂度为O(n*n)
-
python代码实现选择排序
#定义一个在数组中能够找到最小元素的函数
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)) #pop()函数用于移除列表中的一个元素(默认是最后一个),并返回该元素的值
return newarr #append()方法用于在类表末尾添加新的对象
print(selectionSort([5, 3, 6, 2, 10]))
输出结果:
-
C++实现选择排序