def sort(iterable,key=lambda a,b:a<b,reverse=None):
if reverse is None:
reverse = False
ret = []
for x in iterable:
for i,y in enumerate(ret):
a,b=(y,x) if reverse else (x,y)
if key(a,b):
ret.insert(i,x)
break
else:
ret.append(x) #如果在已经排序过的ret中找不到可以插入的位置(即为当前最大值/最小值),就直接在尾部追加
return ret
lst = [1,4,3,6]
sort(lst,reverse=True)
运行结果:
[6, 4, 3, 1]