题目名称:调整奇偶数顺序
题目内容:调整数组使奇数全部都位于偶数后面
#include <stdio.h>
void move(int arr[], int sz){
int left = 0;
int right = sz - 1;
//左边找偶数,右边找奇数,之后进行交换,前提条件都是left<right
while (left < right) {
//左边找偶数
while ((left < right) && (arr[left] % 2 == 1)) {
left++;
}
//右边找奇数
while ((left < right) && (arr[right] % 2 == 0)) {
right--;
}
if (left < right) {
int t = arr[left];
arr[left] = arr[right];
arr[right] = t;
}
}
}
void print(int arr[], int sz) {
int i = 0;
for (i = 0; i < sz; i++) {
printf("%d ", arr[i]);
}
}
int main() {
int arr[] = { 1,2,3,4,5,6,7,8,9 };
int sz = sizeof(arr) / sizeof(arr[0]);
move(arr, sz);
print(arr, sz);
return 0;
}