Python选择排序

第一个数和它后面的所有数比较大小

两种情况:

  1. 它就是最小的数, 那么保持原位置不动
  2. 它不是最小的数, 那么让最小的数和它交换位置

无论哪种情况出现, 结果都是最小的数排在第一位
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)


posted @ 2020-09-26 08:35  sn0wp3ak  阅读(101)  评论(0编辑  收藏  举报