编写出将一个数组拆分为两个数组,一个为奇数数组,一个为偶数数组
时间: 2023-06-02 17:08:03 浏览: 120
好的,这是一个编程问题。可以使用以下代码将一个数组拆分为奇数数组和偶数数组:
```python
def split_array(arr):
odd = []
even = []
for num in arr:
if num % 2 == 0:
even.append(num)
else:
odd.append(num)
return odd, even
```
这个函数会返回一个元组,第一个元素是奇数数组,第二个元素是偶数数组。
相关问题
编写程序,将一个任意长度的int数组拆分为两个int数组,一个数组中存储奇数数据,一个数组中存储偶数数据,拆分后保持原有顺序。 给定数组:{1,6,2,3,9,10,7,23,22} 结果为:{1,3,9,7,23} 和 {6,2,10,22}
以下是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]
```
编写程序,格一个任意长度的int数组折分为两个int数组, 一个数组中存储奇数数据,一个数组中存储偶数数据,拆分后保持原有顺序。给定数组: {1,6,2,3,9,10,7,23,22)结果为:{1,3,9,7,23)和{6,2,10,22)
以下是一个 Java 代码示例:
```java
public static void splitArray(int[] arr) {
int[] oddArr = new int[arr.length];
int[] evenArr = new int[arr.length];
int oddIndex = 0, evenIndex = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] % 2 == 0) {
evenArr[evenIndex++] = arr[i];
} else {
oddArr[oddIndex++] = arr[i];
}
}
int[] oddResult = Arrays.copyOfRange(oddArr, 0, oddIndex);
int[] evenResult = Arrays.copyOfRange(evenArr, 0, evenIndex);
System.out.println("Odd Array: " + Arrays.toString(oddResult));
System.out.println("Even Array: " + Arrays.toString(evenResult));
}
```
该方法接受一个 int 数组作为参数,然后将该数组拆分为奇数数组和偶数数组,并将其打印出来。在方法内部,我们创建了两个新的 int 数组 oddArr 和 evenArr,用于存储奇数和偶数数据。我们使用两个变量 oddIndex 和 evenIndex 来跟踪这些数组中的填充位置。
接下来,我们遍历原始数组 arr 中的每个元素。如果该元素是偶数,则将其添加到 evenArr 中,并将 evenIndex 增加 1。如果该元素是奇数,则将其添加到 oddArr 中,并将 oddIndex 增加 1。
最后,我们使用 Java 中的 Arrays.copyOfRange() 方法从 oddArr 和 evenArr 中创建两个新数组 oddResult 和 evenResult,并使用 Arrays.toString() 方法将它们打印出来。
阅读全文