public class Test {
public static void main(String[] args) {
int[] array = {2,3,4,5,6,7,8,9,10};
print (array);
int[] result = change(array);
System.out.println();
print (result);
}
public static int[] change (int[] array) {
if (null == array) {
return null;
}
int i=0;
int j=array.length-1;
while (i<j) {
while (array[i] % 2 == 1 && i<j) {
i++;
}
while (array[j] % 2 == 0 && i<j) {
j--;
}
if (i<j) {
array[i] = array[i] ^ array[j];
array[j] = array[i] ^ array[j];
array[i] = array[i] ^ array[j];
}
}
return array;
}
private static void print (int[] array) {
if (null == array) {
return;
}
int len = array.length;
for (int i=0;i<len;i++) {
if (i == len-1) {
System.out.print(array[i]);
} else {
System.out.print(array[i]+" ");
}
}
}
}
java实现一个数组中奇数在左,偶数在右,且元素的相对位置不变
最新推荐文章于 2023-04-03 21:47:25 发布