gpt4 book ai didi

java - 排序和重新排列(不同的)数组

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:10:08 26 4
gpt4 key购买 nike

我有两个 int[] 数组 IJ 如下:

int[] I = { 1, 2, 4, 5, 3 };
int[] J = { 8, 7, 6, 3, 2 };

我想对 I 进行排序,然后使用相同的索引重新排列 J,以便两个数组保持对齐。结果应该是:

I = { 1, 2, 3, 4, 5 };
J = { 8, 7, 2, 6, 3 };

最佳答案

我会先编写一个例程来交换 int[] 中的 元素。类似的东西,

public static void swap(int[] arr, int i, int j) {
if (i == j) {
return;
}
int t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}

然后你就可以使用它了Arrays.toString(int[])和类似的东西

public static void main(String[] args) {
int[] I = { 1, 2, 4, 5, 3 };
int[] J = { 8, 7, 6, 3, 2 };
for (int i = 0; i < I.length - 1; i++) {
for (int j = i + 1; j < I.length; j++) {
if (I[i] > I[j]) {
swap(I, i, j);
swap(J, i, j);
}
}
}
System.out.printf("I = %s%n", Arrays.toString(I));
System.out.printf("J = %s%n", Arrays.toString(J));
}

输出是(按要求)

I = [1, 2, 3, 4, 5]
J = [8, 7, 2, 6, 3]

关于java - 排序和重新排列(不同的)数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32030895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com