该算法的工作原理如下:
- 我找到给定列表的最小值。
- 然后弹出它并将其附加到另一个列表中。
- 重复步骤 1 和 2,直到有一个元素,在这种情况下,我只需将其附加到另一个列表并结束程序。
问题
最后一个元素总是一些应该很久以前排序的随机数。
源代码
lst=[randrange(1, 100) for i in range(100)]
lst2=[]
while True:
if len(lst) > 1:
min = 0
for i in range(len(lst) -1):
if min == 0:
min = lst[i]
else:
if lst[i] < min:
min = lst[i]
for j in range(len(lst) -1):
if lst[j] == min:
lst2.append(lst[j])
lst.pop(j)
break
else:
lst2.append(lst[0])
break
lst = lst2
print(lst)