输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数
位于数组的前半部分,所有偶数位于数组的后半部分。
#include <stdio.h>
#include <assert.h>
void printf_arr(int *arr,int len)
{
assert(arr);
assert(len > 0);
int i = 0;
for(i = 0; i < len; i++)
{
printf("%4d",arr[i]);
}
printf("\n");
}
void sort(int *a,int len)
{
assert(a);
assert(len > 0);
int i = 0;
int j = len - 1;
for(i = 0; i!=j; i++)
{
if(a[i]%2!=0)
{
continue;
}
else
{
int t = a[i];
a[i] = a[j];
a[j] = t;
if(a[j]%2 ==0)
{
j--;
}
i--;
}
}
}
int main()
{
int arr[] = {4,5,7,8,1,2,3,9,11};
int length = sizeof(arr)/sizeof(arr[0]);
printf_arr(arr,length);
sort(arr,length);
printf_arr(arr,length);
return 0;
}
位于数组的前半部分,所有偶数位于数组的后半部分。