【解题思路:】
两个指针分别位于数组的首位,当满足交换条件(前指针为偶数,后指针为奇数时候交换指针中对应的内容)
【其他】
判断奇数偶数: 位操作 (&1决定最后一位是0 还是1 从而决定奇数偶数)
public class ChangeEven {
public static void main(String[] args){
int[] array={0};
System.out.println("hello");
changeEven(array,array.length);
print(array,array.length);
}
private static void print(int[] array, int size) {
// TODO Auto-generated method stub
if(array==null||size==0) return;
for(int i=0;i<size;i++)
System.out.println(array[i]+" " );
}
public static void changeEven(int[] array, int size) {
// TODO Auto-generated method stub
if(array==null||size==0)
return;
int i_bef=0;
int i_beh=size-1;
while(i_bef<i_beh){
if(even(array[i_bef])==true&&even(array[i_beh])==false){
int temp=array[i_bef];
array[i_bef]=array[i_beh];
array[i_beh]=temp;
i_bef++;
i_beh--;
}
if(even(array[i_bef])==false)
i_bef++;
if(even(array[i_beh])==true)
i_beh--;
}
}
private static boolean even(int i) {
// TODO Auto-generated method stub
boolean result=false;
if((i&1)==0)
result=true;
return result;
}
}