要使全部奇数排在偶数前面,且奇数和奇数,偶数和偶数之间的相对位置不做要求, 那么就从前向后找偶数,同时从后往前找奇数,找到之后,二者进行交换,直到没有可交换的。
vector<int> reOrderArrayTwo(vector<int>& array)
{
int i = 0;
int j = array.size( ) - 1;
while(i < j)
{
while(i < j && array[i] % 2 != 0)
i++;
while(i < j && array[j] % 2 == 0)
j--;
if(i < j)
{
swap(array[i], array[j]);
}
i++, j--;
}
return array;
}