作业帮 > 综合 > 作业

将数组C[1:n]中所有奇数移到偶数之前,要求时间复杂度为O(n)

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/14 01:55:12
将数组C[1:n]中所有奇数移到偶数之前,要求时间复杂度为O(n)
将数组C[1:n]中所有奇数移到偶数之前,要求时间复杂度为O(n)
快速排序的思想!
int *rev(int *a,int n)
{
int *p,*q;
int temp;
p = a;
q = a + n - 1;
while(p < q)
{
while((*p)%2) p++;
while(!((*q)%2)) q--;
if(p < q)
{
temp = *p;
*p = *q;
*q = temp;
p++;
q--;
}
}
return a;
}