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