2012-11-13 44 views
1

我讀過一個基數排序的實現,它使用小於10的int數據類型,即它們由一個sig-fig組成。 (例如,1,0,3,4,9,...只是清楚)。這個實現不是太困難,但是大於十的數字呢?如何比較第一遍中某個位置的數字,然後比較第二遍中十位的數字,等等,而不顯式地將數組的元素轉換爲字符串或字符類型。 (或者是這只是必要?)用基數排序檢查索引

回答

1

可以始終拉第n位爲v /(10 **(N-1))%10.

從一個單一的數字基數排序去一個多數字式普通分揀機並不重要。根據您處理數字的順序,您最終會跟蹤組邊界,或者必須使用「穩定」變體。