算法----(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的相对次序