编写程序,将一个任意长度的int数组拆分为两个int数组,一个数组中存储奇数数据,一个数组中存储偶数数据,拆分后保持原有顺序。 给定数组:{1,6,2,3,9,10,7,23,22} 结果为:{1,3,9,7,23} 和 {6,2,10,22}
时间: 2023-07-30 10:10:34 浏览: 95
以下是Java语言的实现方式:
```java
public static int[][] splitArray(int[] arr) {
int[][] result = new int[2][arr.length];
int oddIndex = 0, evenIndex = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] % 2 == 1) { // 奇数
result[0][oddIndex++] = arr[i];
} else { // 偶数
result[1][evenIndex++] = arr[i];
}
}
// 缩小数组长度
result[0] = Arrays.copyOf(result[0], oddIndex);
result[1] = Arrays.copyOf(result[1], evenIndex);
return result;
}
```
使用示例:
```java
int[] arr = {1,6,2,3,9,10,7,23,22};
int[][] result = splitArray(arr);
System.out.println(Arrays.toString(result[0])); // [1, 3, 9, 7, 23]
System.out.println(Arrays.toString(result[1])); // [6, 2, 10, 22]
```
阅读全文