我正在尝试用python实现选择排序,到目前为止我已经完成了。此函数的输出根本没有排序。你认为我做错了什么?当我存储数组中最小元素的索引并交换它时。如果有人能指出我逻辑中的缺陷,这将成为其他人做同样事情的一个例子。
def selection_sort(array):
for i in range(len(array)):
index = 0
smallest = array[i]
for j in range(len(array)):
if array[j] < smallest:
smallest = array[j]
index = j
temp = array[i]
array[i] = smallest
array[index] = temp
return array
to_sort = [99, 44, 6, 2, 1, 5, 63, 87, 283, 4, 0]
print(selection_sort(to_sort))
输出:
[44, 6, 2, 1, 5, 63, 87, 283, 4, 99, 0]