"""选择排序:思路:遍历整个列表,找到最小项的位置。如果该位置不是列表的第一个位置,算法就会交换这两个位置的项;然后算法回到第二个位置并重复这个过程"""import random#定义一个交换函数def swap(lyst,i,j):temp = lyst[i]lyst[i] = lyst[j]lyst[j] = temp#定义选择排序def selection_sort(lyst):i = 0while i < len(lyst) - 1:min_index = ij = i + 1while j < len(lyst):#遍历当前子列表寻找最小项indexif lyst[j] < lyst[min_index]:min_index = jj += 1if min_index != i:swap(lyst,min_index,i)i += 1return lystdef test_sort():lyst = list(range(10))lyst = random.shuffle(lyst)assert selection_sort(lyst) == lystif __name__ == "__main__":test_sort()
如果觉得《09_数据结构与算法_选择排序_Python实现》对你有帮助,请点赞、收藏,并留下你的观点哦!