Java:如何对 3d 数组的一部分进行排序?

标签 java arrays sorting

我有这个数组:array[2][7][2]

for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 7; j++) {
        syso(array[i][j][0] + " ");
    }
    syso("/n");
}

目前上面的代码打印出来:

4 1 2 5 9 0 1

2 3 1 9 9 3 1

有没有办法以某种方式对这些进行排序?我并不真正关心array[i][j][1],只关心array[i][j][0]

我自己编写了一个 QuickSort 函数,但显然这段随机代码不起作用:

for (int i = 0; i < array.length; i++) {
    quickSort(array[i][0], 0, array[i].length - 1);     
}

编辑:

这也是我的 QuickSort 函数:

static int partition(int a[], int l, int r) {
    int pivot = a[r];
    int k=l-1;

    for(int i=l; i <= r; i++) {
        if (a[i] <= pivot) {
            k++;

            int w = a[i];
            a[i] = a[k];
            a[k] = w;
        }
    }
    return k;
}

static void quickSort(int [] a, int l, int r) {
    if (l>=r) {
        return ;
    }

    int k = partition(a, l, r);
    quickSort(a, l, k-1);
    quickSort(a, k+1, r);
}

最佳答案

int[][] another = int[2][7];
for (int i = 0; i < array.length; i++) {
   for (int j = 0; j < array.length; j++) {
      anotner[i][j] = array[i][j][0];
   }
}
for (int[] a : anotner) {
    Arrays.sort(a);
}

然后像使用 syso() 一样打印 anotner

关于Java:如何对 3d 数组的一部分进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29379236/

相关文章:

java - 字符串索引越界?在哪里?

java - 基于内容估计文本宽度的算法

java - 为什么在使用 MouseAdapter 时没有收到 mouseDragged 事件?

c - 您将如何使用函数来计算电阻器阵列的电流和电压?

java - 如何在多层中按值对 Map 进行排序

java - 枚举与类加载器

JavaScript 数组警报

确认数组的缓存对齐

java - 使用Comparator.comparing(HashMap::get)作为比较器时发生意外行为

javascript - 数组排序有两个要求