选择排序法

选择排序法

原理:选择排序每次只记录最小数的索引值. 类似于冒泡排序, , 区别是冒泡排序每次都交换, 选择排序只在最后比较完后才进行交换

步骤:

已知列表[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]))

 

posted on 2018-01-30 19:55  成风123  阅读(114)  评论(0)    收藏  举报

导航