慕侠2389804
您在算法中看到的是选择排序。这是您提出的第二个解决方案(嵌套for循环):def insertion_sort(arr): l = len(arr) for i in range(l-1, -1, -1): m = -10000 # it should be lower than min(arr) idx = -1 for key, val in enumerate(arr[:i+1]): if m < val: m = val idx = key if idx != -1: arr[i], arr[idx] = arr[idx], arr[i] return arr快速测试:arr = list(range(10))[::-1]print(arr)# prints [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]result = insertion_sort(arr)print(result)# prints [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]