1
我想做一个列表排序算法,而不使用Python的排序。我有这个至今:如何使递归排序列表功能起作用?
def order(lst):
if lst == [] or len(lst) == 1:
return lst
elif lst[0] < order(lst[1:])[0] or lst[0] == order(lst[1:])[0]:
return [lst[0]] + order(lst[1:])
return order(lst[1:]) + [lst[0]]
然而,有一个处理列表反复输入的麻烦。我假设这是因为程序可以根据是否更大或更小来继续扩展列表,并且如果它运行的是具有相同值的内容,则会打破该过程。但是,我不知道如何解决它,所以有更好的方法来做到这一点,或者我必须采用不同的方式(使用min是我现在最好的选择)?任何提示将不胜感激。
有各种排序算法....你试图实现哪些? – danidee
使用'<='代替('<'或'==')。 – Zety
我想实现一个函数,按照从最小到最大的顺序对数字进行排序。 – raindoggo