一般的思想是:创建一个数组,将原数组中的奇数放在新数组的左侧,将原数组的偶数放在新数组的右侧
但是这样会消耗空间,所以考虑在原来数组上进行改变。
设置两个指针,从左找偶数,从右找奇数,让找到偶数与找到的奇数位置交换。
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr= {3,2,1,5,6,8,9,3};
f(arr);
for(int i=0;i<arr.length;i++)
{
System.out.print(arr[i]+" ");;
}
}
public static void f(int[] arr)
{
int start=0,end=arr.length-1;
while(start<=end)
{
if(arr[start]%2==1)
{
start++;
}
else if(arr[end]%2==0)
{
end--;
}
else if(arr[start]%2==0&&arr[end]%2==1)
{
int temp=arr[end];
arr[end]=arr[start];
arr[start]=temp;
}
}
}