#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void print(int arr[], int sz){
int i = 0;
for (i = 0; i < sz; i++){
printf("%d ", arr[i]);
}
printf("\n");
}
void reverse(int left[], int right[]){
while (left < right){
//这里left要是等于right就不用循环了因为他们中间没有元素了
while ((left<right)&&(*left % 2 == 1)){
left++;//这说明是个奇数,就应该在前面,不用往后面去
}
while ((left<right)&&(*right % 2 == 0)){
right--;//这说明是个偶数不用往前面取
}
if (left < right){
int tmp = *left;//前面的偶数和后面的奇数交换
*left = *right;
*right = tmp;
}
}
}
int main(){
int arr[] = {1,2,3,4,5,6,7,8,9,10};
int sz = sizeof(arr) / sizeof(arr[0]);
reverse(arr, arr + sz - 1);//奇偶交换函数
print(arr,sz);//打印函数
return 0;
}