将数组中奇数放在偶数前面。
#include <stdio.h>
#include <stdlib.h>
void adjust(int *left, int *right){
int tep = 0;
while (left < right){
while ((left < right)&&((*left) % 2 == 0)){
while ((left < right)&&((*right) % 2 == 1)){
tep = *left; //找到一个偶数与后面奇数交换
*left = *right;
*right = tep;
break;
}
right--;
}
left++;
}
}
int main(){
int arr[] = {2, 4, 2, 4, 7, 2, 3, 8, 6, 3};
int i = 0;
adjust(arr, arr+sizeof(arr) / sizeof(arr[0]) - 1);
for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++){
printf("%d ",arr[i]);
}
system("pause");
return 0;
}