基于Java中的索引将数组排序为子数组

时间:2014-09-26 00:51:56

标签: java sorting

基本上,我有一个54元素的单维数组,我想快速拆分成一个二维数组,其中包含原始数组的20个非常特定的子数组(并且正确排序)。

将I / O中的整数视为原始数组的索引。

输入:{0,1,2,3,4,5,6,7,8,9 ...... 53}包含54个元素的数组

输出:{{0,9,51},{1,52},{2,17,53},{3,10},{5,16},{6,11,12} ......多维数组 输入数组的子数组

我目前正在对子阵列进行硬编码,但它很乏味且很慢。关于如何实现这一点的任何想法?

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作。我假设你自己初始化你的子阵列。但是子阵列的排序应该很简单,如下所示。

public static void main(String[] args) {

    // Initialize your original array
    int[] original = new int[54];

    // Create a master array containing 20 sub-arrays
    int[][] array = new int[20][];

    // sub array
    array[0] = new int[3]; // and populate the sub-array values
    array[1] = new int[2]; // and populate the sub-array values
    // .
    // .
    // .

    // Iterate over the sub arrays and sort the numbers
    for (int[] subarray : array) {
        Arrays.sort(subarray);
    }
    // At this point you've achieved what you wanted
}