猴子排序,是一种原始的排序算法。它每轮随机打乱一个列表,直到它有序。
我自肝了一个较为简洁的猴子排序函数。
import random
def show(list):
print(list)
def randomlist(Long=10,Min=0,Max=10,isShow=False):
list = []
for i in range(Long):
list.append(random.randint(Min,Max))
if isShow:
show(list)
return list
def is_sorted(a):
return all([a[i] <= a[i + 1] for i in range(len(a) - 1)])
def monkeysort(list,isShow=False):
while is_sorted(list)==0:
if isShow:
show(list)
random.shuffle(list)
if isShow:
show(list)
return list
monkeysort(randomlist(8,0,50,True),True) #可以自己改参数