目录
题目要求
代码实现
题目要求
创建一个整型数组
自定义函数实现:调整该数组中数字的顺序,使得数组中所有的奇数位于数组的前半部分,数组中所有的偶数位于数组的后半部分
举例:
输入的整型数组为:[234,24,45,23,5,8,233,123,456,2,78,3456]
调整数组的顺序后:[123 233 45 23 5 8 24 234 456 2 78 3456]
代码实现
#include<stdio.h>
SwapArr(int arr[], int size)
{int left = 0;int right = size - 1;// 左下标找偶数,右下标找奇数// 找到就交换,没找到就各自递增/减,直到左右下标相遇结束while (left < right){if (arr[left] % 2 == 0){if (arr[right] % 2 == 1){int tmp = arr[left];arr[left] = arr[right];arr[right] = tmp;}else{right--;}}else{left++;}}
}
int main()
{// 创建int arr[] = { 234,24,45,23,5,8,233,123,456,2,78,3456 };// 数组左右下标int size = sizeof(arr) / sizeof(arr[0]);//交换SwapArr(arr, size);//输出for (int i = 0; i < size; i++){printf("%d ", arr[i]);}return 0;
}
代码验证: