由桶排序改進來的
從最低位到最高位依次桶排序
最後輸出最後排好的列表
def radixsort(list,d):
for k in range(d):#d輪排序
# 每一輪生成10個列表
s=[ for i in range(10)]#因為每一位數字都是0~9,故建立10個桶
for i in list:
# 按第k位放入到桶中
# 按當前桶的順序重排列表
list=[j for i in s for j in i]
return list
if __name__ == '__main__':
a=radixsort([int(x) for x in input().split()], 10)
for x in a:
print(x,end=" ")
排序演算法10 基數排序 Python實現
基數排序是從低位到高位按某一位來排序 所以需要知道列表中的最大值,以獲取它的位數,確定迴圈的次數 每次迴圈需要建乙個長度為10的列表,元素為空列表,下標對應每個數的某一位 即第一次迴圈,如果某個數個位為3,則放入下標為3的列表中 第二次迴圈,按十位進行 每次迴圈結束,遍歷二維列表,將元素依次賦給原列...
c 實現基數排序
以下介紹內容 百科 基數排序的方式可以採用lsd least significant digital 或msd most significant digital lsd的排序方式由鍵值的最右邊開始,而msd則相反,由鍵值的最左邊開始。以lsd為例,假設原來有一串數值如下所示 73,22,93,43,...
基數排序 佇列實現
基數排序是一種不需要比較就能實現排序的演算法思維,主要步驟為分配和收集的過程,重複這個過程於最大數的位數後,排序結束。以下是完全以佇列模擬桶的分配收集過程。標頭檔案 單鏈表部分 typedef int elemtype typedef struct lnode lnode,linklist int ...