//要求时间复杂度为o(n),空间复杂度为o(1)
#include<stdio.h>
void main()
{
int array[10]={1,2,3,4,5,6,7,8,9,10};
int temp=0;
int i,j;
i=0;
j=9;
while(i<j)
{
if((array[i]%2==0)&&(array[j]%2!=0))//偶奇
{
temp=array[i];
array[i]=array[j];
array[j]=temp;
i++;
j--;
}
else if((array[i]%2!=0)&&(array[j]%2==0))//奇偶
{
i++;
j--;
}
else if((array[i]%2!=0)&&(array[j]%2!=0))//奇奇
{
i++;
}
else if((array[i]%2==0)&&(array[j]%2==0))//偶偶
{
j--;
}
}
for(i=0;i<10;i++)
printf("%d ",array[i]);
}
数组左部分为奇,右部分为偶
最新推荐文章于 2022-10-13 16:51:16 发布