题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
public class Solution {
public void reOrderArray(int [] array)
{
int length = array.length; //求出数组的长度
int []a = new int[length]; //存基数
int []b = new int[length]; //存偶数
int i, j;
int lengtha = 0, lengthb = 0;
for(i = 0; i < length; i++)
{
if(array[i] % 2 != 0)
{
a[lengtha] = array[i];
lengtha++;
}
else
{
b[lengthb] = array[i];
lengthb++;
}
}
for(i = 0; i < lengtha; i++)
{
array[i] = a[i];
}
for(i = lengtha, j = 0; i < length&& j < lengthb; i++ , j++)
{
array[i] = b[j];
}
}
}