原理:设第一个元素为比较元素,依次和后面的元素比较,比较完所有元素找到最小的元素,将它和第一个元素互换,然后又从第二个元素开始,选出除第一个外的最小元素,与第二个元素互换,第三个元素也一样,依此循环就可以得到一个从小到大排序的列表。
下面看代码:
def select_sort(arr):
#循环选择的遍数
for i in range(len(arr)-1):
min_index = i
#循环比较
for j in range(i+1,len(arr)):
if arr[j]<arr[min_index]:
min_index = j
arr[min_index],arr[j] = arr[j], arr[min_index]
return arr
if __name__ == '__main__':
a = [11, 33, 56, 65, 58, 30, 123, 9, 63, 987]
print(select_sort(a))