【发布时间】:2020-07-27 19:24:26
【问题描述】:
在 Java 中,如何根据另一个已排序数组的索引顺序对数组进行排序?例如,如果我有:
arr1 = {26, 8, 3}
arr2 = {3, 1, 2}
arr3 = {57, 23, 11}
arr4 = {78, 2, 61}
我将 arr2 按升序排序为
arr2 = {1, 2, 3}
然后我希望另一个是:
arr1 = {8, 3, 26}
arr3 = {23, 11, 57}
arr4 = {2, 61, 78}
我怎样才能做到这一点是Java?我知道我会将新的排序数组保存到新的实例中。有什么帮助,谢谢!
【问题讨论】:
-
如果你有一个对象数组而不是四个模糊相关的整数数组,这会容易得多。
-
不幸的是,我需要将数组分开以便使用不同的方法。不过你是对的。
-
为什么需要将它们分开以将它们用于不同的方法?此外,是什么阻止您将它们捆绑到对象中、执行排序然后再将它们解包?
-
存储arr2的原始位置,例如。 {1, 2, 0 } 来跟踪 1 来自索引 1、2 来自索引 2 和 3 来自索引 0。一旦有了原始位置,就可以使用相同的顺序对其他数组进行排序。
-
如何对
arr2进行排序?
标签: java arrays sorting indexing