1
Q
排序使用基數排序
A
回答
2
因爲freq
包含範圍中每個位置的元素的累積數量。也就是說,對於i = 0-9的範圍,freq[i]
包含放置在位置0, ..., i
上的位數。
算法使用freq
來跟蹤每個位置需要從初始陣列到輸出陣列繪製多少個項目。
假設10,21,17,34,44,11,654,123作爲輸入,運行數排序爲第一個微不足道的數字:
0: 10
1: 21 11
2:
3: 123
4: 34 44 654
5:
6:
7: 17
8:
9:
freq
將如下:
0: 1
1: 3
2: 3
3: 4
4: 7
5: 7
6: 7
7: 8
8: 8
9: 8
因此,數組變成10,21,11,123,34,44,654,17。
因爲freq
是如何構建的,所以您需要向後循環以保留原始的數字順序。假設你想把34放在輸出的正確位置。根據freq
數組,如果向前循環,則會將其放在第7個不正確的位置。如果你向後循環,你已經放置了654和44之前達到34,所以freq[4]=5
那麼這是正確的地方。
相關問題
- 1. 基數排序使用
- 2. 基數排序和計數排序
- 3. 基數排序,排序浮點數據
- 4. 基數排序,R
- 5. 基數排序Java
- 6. 用排序數字排序
- 7. 基數排序使用二進制
- 8. 使用C實現基數排序
- 9. 使用C++的基數排序
- 10. 使用隊列的基數排序
- 11. 排序基於排序的值
- 12. 排序排序列表基於值C#
- 13. 基數排序:「基數」在基數排序中意味着什麼?
- 14. 基數排序用於後綴排序嗎?
- 15. 基數排序時間
- 16. 基數排序C++作業
- 17. Elasticsearch基數排序錯誤
- 18. 基數排序在C++
- 19. Rails使用自然排序順序排序查找和排序
- 20. 排序數組排序
- 21. 排序與計數排序
- 22. 基於數值的Javascript數組排序基於數值的數組排序
- 23. 排序基於羣
- 24. 基於值排序
- 25. 排序與基質
- 26. 使用排序
- 27. 排序使用jQuery可排序
- 28. 使用DragDrop排序的Gridview行排序
- 29. 使用STL排序緩衝區排序
- 30. 使用插入排序的堆排序?
如果我想運行從索引1到數組大小的循環,該怎麼辦? – Pmanglani
這就是我所說的「循環前進」。您無法通過循環前進來保留存儲桶的「原始順序」。你只能通過「向後」循環來做到這一點。 – alirabiee