Fork me on Gitee

算法----(3)选择排序

记录一趟中最大(小)元素,最后再进行交换

 

 1 def select_sort(s):
 2     # select_sort
 3     for i in range(len(s) - 1):
 4         min = i
 5         for j in range(i + 1, len(s)):
 6             if s[min] > s[j]:
 7                 min = j
 8         s[i], s[min] = s[min], s[i]
 9 
10     # print sort result.
11     for m in range(len(s)):
12         print(s[m])
13 
14 
15 def main():
16     a = [1, 4, 3, 6, 2, 7]
17     select_sort(a)
18 
19 
20 if __name__ ==  '__main__':
21     main()

 

选择排序是不稳定的排序算法,不稳定发生在最小元素与A[i]交换的时刻。   

比如序列:{ 5, 8, 5, 2, 9 },一次选择的最小元素是2,然后把2和第一个5进行交换,从而改变了两个元素5的相对次序

posted @ 2018-07-23 20:11  MARK+  阅读(167)  评论(0编辑  收藏  举报