输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。
#include <iostream>
using namespace std;
//是否奇数
bool isOdd(int num) {
if (num % 2) {
return true;
}
return false;
}
//奇偶调序
void oddEvenSort(int* arr, int len) {
int i = 0, j = len - 1;
while (i < j) {
while (i < j && isOdd(arr[i])) {
i++;
}
while (i < j && !isOdd(arr[j])) {
j--;
}
if (i < j)
swap(arr[i], arr[j]);
}
}
1039

被折叠的 条评论
为什么被折叠?



