Java中如何分离数组中奇数和偶数呢?
下文笔者将讲述使用Java代码分离数组奇数和偶数的方法分享,如下所示:
实现思路:
定义两个变量left 和 right 用于存储左右开始检索的索引位置
然后依次对左右元素开始检测,当出现不符合条件时,则进行左右交换
例:
package com.java265.other;
public class test {
/*
* java265.com 将数组中奇数和偶数分开 下文笔者将采用最优的算法将奇数和偶数分开,如下所示
*/
public static void main(String[] args) {
int a[] = { 1, 2, 2, 1, 43, 14, 56, 25, 6, 8, 2, 67, 43 };
int left = 0; // 定义左边起始位
int right = a.length - 1;// 定义右边起始位
int temp;
while (left < right) {
// 符合条件,不转换位置,继续判断左边的下一个元素
while (a[left] % 2 == 0 && left < right) {
left++;
}
// 符合条件,不准换位置,继续判断右边的下一个元素
while (a[right] % 2 == 1 && left < right) {
right--;
}
if (left < right) {
// 左右位置交换
temp = a[left];
a[left] = a[right];
a[right] = temp;
left++;
right--;
}
}
// 输出元素
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}
-------运行以上代码,将输出以下信息------
2
2
2
8
6
14
56
25
43
1
1
67
43
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


