3.选择排序

# 原理:依旧从索引为零的位置,开始遍历。先假定索引为0的元素最小,然后让右边的元素依次与之比较
# 如果右边的小,就进行交换,那么一轮之后索引为0的位置就是最小的元素。
# 然后索引从1开始,按照相同的方式比价剩余的元素,最终依次从左到右把所有元素的位置排好

import random
def select_sort(arr):
    for i in range(len(arr)-1):  # 最多依旧只需要遍历len(arr)-1次
        for j in range(i+1, len(arr)):
            if arr[j] < arr[i]:
                arr[j], arr[i] = arr[i], arr[j]


arr = list(range(20))

random.shuffle(arr)
print(arr)  # [14, 6, 3, 5, 12, 16, 15, 7, 13, 18, 11, 9, 10, 2, 1, 19, 4, 0, 8, 17]

select_sort(arr)
print(arr)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

  

猜你喜欢

转载自www.cnblogs.com/traditional/p/9352330.html
今日推荐