【发布时间】:2013-07-27 21:05:10
【问题描述】:
是否可以在不使用辅助数组的情况下在一次解析中按降序排列仅由 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;
}
}
【问题讨论】:
-
您在寻找什么样的优化?一次数据传递?
-
是的,解决方案应该是一次解析。
-
Parse 和 pass 是不同的东西,即使它们的发音相同(它们可能是某些人的同音字)。您的代码代表一个解析。
标签: c sorting optimization