gpt4 book ai didi

java - 将一个数组拆分为两个数组

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

我需要将矩阵的元素放入一个数组中,然后我需要先对奇数进行排序,然后对偶数进行排序示例:这是数组:5、9、1、2、3、8、4。输出:1,3,5,9; 2,4,8

这是我的代码:

int[] array=new int[mat.length*mat[0].length];
int cnt=0;

for(int i=0; i<mat.length; i++)
{
for(int j=0; j<mat[0].length; j++)
{
array[cnt]=mat[i][j];
cnt++;
}
}
int cnt1=0;
int cnt2=0;
int[] array1=new int[array.length];
int[] array2=new int[array.length];
for(int i=0; i<array.length; i++)
{
if(array[i]%2==0)
{
array1[br1]=array[i];
cnt1++;
}
else
{
array2[br2]=array[i];
cnt2++;
}
}

问题是这两个数组用于奇数和偶数,因为我不知道它们的长度,如果我输入整个数组的大小,那么对于偶数和奇数数组中的剩余位置,我将得到零反之亦然。你会怎么做?谢谢

最佳答案

如果你可以使用 List 你可以做

List<Integer> even = new ArrayList<>();
List<Integer> odd = new ArrayList<>();

for(int i=0; i<mat.length; i++) {
for(int j=0; j<mat[0].length; j++) {
if (mat[i][j] % 2 == 0)
even.add(mat[i][j]);
else
odd.add(mat[i][j]);
}
}

Collections.sort(even);
Collections.sort(odd);

odd.addAll(even);

for (int v: odd){
System.out.println(v);
}

关于java - 将一个数组拆分为两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31126293/

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