n个元素存放数组,奇数和偶数各有一半,要求重新排列,奇数放奇数位,偶数放偶数位
int newArrange(int a[],int n)
{
int i,j;
i=0;j=1;
while(i<n&&j<n)
{
while(i<n&&a[i]%2==0)
i=i+2;
while(j<n&&a[j]%2!=0)
j=j+2;
if(i<n && j<n)
{
int temp=a[i];a[i]=a[j];a[j]=temp;
}
}
}
main()
{
int a[10]={3,2,5,7,6,10,9,1,4,8};
int n=10;
for(int i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
newArrange(a,n);
for(int i=0;i<n;i++)
printf("%d ",a[i]);
}