选择排序法
选择排序法
原理:选择排序每次只记录最小数的索引值. 类似于冒泡排序, , 区别是冒泡排序每次都交换, 选择排序只在最后比较完后才进行交换
步骤:
已知列表[3,5,2,1,9],以第一趟比较为例(找最小数为例)
此时mini = 0-
3 与 5 作比较,mini不变 -
3 与 2 作比较,mini变更为2 -
2 与 1 作比较,mini更新为3 - 1 和 9 作比较,mini不变
将index = 3与index=0的元素交换位置变为:[1,5,2,3,9]
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 # author: dcl 5 # date: 2018/1/30 6 7 # 选择排序法 8 9 10 def selectSort(nums): 11 for i in range(len(nums) - 1): 12 mini = i 13 for j in range(i + 1, len(nums)): 14 if nums[mini] > nums[j]: 15 mini = j 16 nums[mini], nums[i] = nums[i], nums[mini] 17 return nums 18 19 20 print(selectSort([3, 5, 2, 1, 9]))
浙公网安备 33010602011771号