我需要实现一种方法,通过使用最小值和最大值从两端工作,使选择排序更有效。在
我有它的工作只是使用从最小值的索引,但我仍然需要找到一种方法,同时从最大值反向工作
def selectionsort(alist):
for i in range(len(alist)):
min_idx = i
for j in range(i+1, len(alist)):
if alist[min_idx] > alist[j]:
min_idx = j
temp = alist[i]
alist[i] = alist[min_idx]
alist[min_idx] = temp
alist = [54,26,93,17,77,31,44,55,20]
selectionsort(alist)
print(alist)
函数应返回已排序的列表:[17,20,26,31,44,54,55,77,93]
同时跟踪最大值,并将其复制到列表的末尾-就像处理最小值一样。在
相关问题 更多 >
编程相关推荐