Python选择排序
第一个数和它后面的所有数比较大小
两种情况:
- 它就是最小的数, 那么保持原位置不动
- 它不是最小的数, 那么让最小的数和它交换位置
无论哪种情况出现, 结果都是最小的数排在第一位
The Smallest Number Comes First
紧接着
第二个数和它后面的所有数比较大小
结果把第二小的数排在第二位
The Second Smallest Number Place In Second
以此类推, 最终完成排序
def select_sort(data_list):
"""选择排序"""
n = len(data_list)
for j in range(n-1):
min_index = j
for i in range(j+1, n):
if data_list[i] < data_list[min_index]:
min_index = i
if j != min_index:
data_list[j], data_list[min_index] = data_list[min_index], data_list[j]
if __name__ == '__main__':
li = [54, 26, 93, 17, 77, 31, 44, 55, 20, 13]
print(li)
select_sort(li)
print(li)