MCPcopy Index your code
hub / github.com/hustcc/JS-Sorting-Algorithm / radixSort

Method radixSort

src/java/main/RadixSort.java:48–70  ·  view source on GitHub ↗
(int[] arr, int maxDigit)

Source from the content-addressed store, hash-verified

46 }
47
48 private int[] radixSort(int[] arr, int maxDigit) {
49 int mod = 10;
50 int dev = 1;
51
52 for (int i = 0; i < maxDigit; i++, dev *= 10, mod *= 10) {
53 // 考虑负数的情况,这里扩展一倍队列数,其中 [0-9]对应负数,[10-19]对应正数 (bucket + 10)
54 int[][] counter = new int[mod * 2][0];
55
56 for (int j = 0; j < arr.length; j++) {
57 int bucket = ((arr[j] % mod) / dev) + mod;
58 counter[bucket] = arrayAppend(counter[bucket], arr[j]);
59 }
60
61 int pos = 0;
62 for (int[] bucket : counter) {
63 for (int value : bucket) {
64 arr[pos++] = value;
65 }
66 }
67 }
68
69 return arr;
70 }
71
72 /**
73 * 自动扩容,并保存数据

Callers 1

sortMethod · 0.95

Calls 1

arrayAppendMethod · 0.95

Tested by

no test coverage detected