You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

22 lines
927B

  1. """
  2. 假设有一个序列,a[0],a[1],a[2]...a[n]现在,对它进行排序。我们先从0这个位置到n这个位置找出最小值,然后将这个最小值与a[0]交换,
  3. 然后呢,a[1]到a[n]就是我们接下来要排序的序列
  4. 我们可以从1这个位置到n这个位置找出最小值,然后将这个最小值与a[1]交换,之后,a[2]到a[n]就是我们接下来要排序的序列
  5. 每一次,我们都从序列中找出一个最小值,然后把它与序列的第一个元素交换位置,这样下去,待排序的元素就会越来越少,直到最后一个
  6. """
  7. def select_sort(lst):
  8. for i in range(len(lst)):
  9. min = i
  10. for j in range(min, len(lst)):
  11. # 寻找min 到len(lst)-1 这个范围内的最小值
  12. if lst[min] > lst[j]:
  13. min = j
  14. lst[i], lst[min] = lst[min], lst[i]
  15. lst = [2, 6, 1, 8, 2, 4, 9]
  16. select_sort(lst)
  17. print(lst)