【C语言】调整数组使奇数全部都位于偶数前面

来源:互联网 发布:招淘宝代理 编辑:程序博客网 时间:2024/05/16 10:52
输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。
#include<stdio.h>#include<stdlib.h>void arr_move(int arr[], int sz){int *left = arr;int *right = arr + sz - 1;while (left < right){while ((*left%2== 1) && (left < right)){left++;}while ((*right%2 == 0) && (left < right)){right--;}if (left < right){int tmp = *left;*left = *right;*right = tmp;}}left++;right--;}int main(){int i = 0;int arr[] = { 1,2,3,4,5,6,7,8,9 };int sz = (sizeof(arr) / sizeof(arr[0]));    arr_move(arr, sz);for (i = 0; i < sz; i++){printf("%d\n", arr[i]);}system("pause");return 0;}

结果如下:



1 0
原创粉丝点击