是否可以在一次遍历中,不使用辅助数组的情况下将由1和0组成的数组按降序排列?
例如:假设您有一个数组a[]={1,0,0,0,1,0,1}
,期望的输出将是a[]={1,1,1,0,0,0,0}
。
我已经编写了下面的C代码,但它需要2次遍历才能找到解决方案。 是否可以进行优化?
void arrange(int a[],int n) {
int i,count=0;
for(i=0;i<n;i++) {
if(a[i]==1)
count++;
a[i]=0;
}
for(i=0;i<count;i++) {
a[i]=1;
}
}