输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
public class Solution
{
public void reOrderArray(int[] array)
{
// 趟数
for (int i = 0; i < array.length; i++)
{
// 交换次数
for (int j = 0; j < array.length - 1 - i; j++)
{
if (isEven(array[j]) && !isEven(array[j + 1]))
{
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
// 判断是否为偶数
boolean isEven(int n)
{
return (n & 1) == 0;
}
public static void main(String[] args)
{
int[] array =
{ 2, 4, 6, 1, 3, 5 };
Solution s = new Solution();
s.reOrderArray(array);
for (int i = 0; i < array.length; i++)
{
System.out.print(array[i] + ",");
}
}
}