1.输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数。
public class adjustArrayOddfronteven {
public void reOrderArray(int [] array) {
int i=0,j=array.length-1;
while(i<j) {
while(array[i]%2==0 && i<j)
i++;
while(array[j]%2!=0 && j>i)
j--;
if(i!=j) {
int temp = array[j];
array[j]=array[i];
array[i] = temp;
}
}
}
}
2.增强版
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
public class adjustArrayOddfrontEven2 {
public void reOrderArray(int [] array) {
for(int m=0;m<array.length-1;m++) {
if(array[m]%2==0)
for(int n=m+1;n<array.length;n++) {
if(array[n]%2!=0) {
//System.out.print(m);
int temp=array[n];
for(int o=n;o>m;o--) {
array[o]=array[o-1];
}
array[m]=temp;
break;
}if(n==array.length-1 && array[n]%2==0)
break;
}
}
}
}