题目描述:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分
主要实现代码:
void ReorderOddEvent(int* pData, unsigned int length){
if(pData == NULL || length <= 0){
return;
}
int *begin = pData;
int *end = pData + length - 1;
while(begin < end){
// 向后移动pBegin,直到它指向偶数
while(begin < end && (*begin % 2) != 0){
begin++;
}
// 向前移动pEnd,直到它指向偶数
while(begin < end && (*end % 2) == 0){
end--;
}
if(begin < end){
int temp = *begin;
*begin = *end;
*end = temp;
}
}
}
网友评论