【发布时间】:2019-02-21 02:07:43
【问题描述】:
所以我试图为基数排序实现这个伪代码,但不明白如何创建一个二维 ArrayList,这个代码暗示必须创建。我查看了有关创建 2D ArrayList 的其他帖子,但不明白如何在这种情况下正确实现它。任何帮助将不胜感激。
RadixSort(array, arraySize) {
buckets = create array of 10 buckets
// Find the max length, in number of digits
maxDigits = RadixGetMaxLength(array, arraySize)
// Start with the least significant digit
pow10 = 1
for (digitIndex = 0; digitIndex < maxDigits; digitIndex++) {
for (i = 0; i < arraySize; i++) {
bucketIndex = abs(array[i] / pow10) % 10
Append array[i] to buckets[bucketIndex]
}
arrayIndex = 0
for (i = 0; i < 10; i++) {
for (j = 0; j < buckets[i].size(); j++)
array[arrayIndex++] = buckets[i][j]
}
pow10 = 10 * pow10
Clear all buckets
}
}
【问题讨论】:
标签: java arraylist radix-sort