填空: (注:题目没抄错)
实现功能:将一个数组中的负数提到正数前面
int main(void)
{
int i=0,j=____;
int temp;
int a[5]={1,2,-3,3,-1};
while(______) {
while(a[i]<=0) i++;
while(______) j++;
if(i<j) {
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
int main(void)
{
int i=0,j=0;
int temp;
int a[5]={1,2,-3,3,-1};
while(++j<5) {
while(a[i]<=0) i++;
while(a[j]>0) j++;
if(i<j) {
temp=a[i];
a[i]=a[j];
a[j]=temp;}
}
}
是这样吗?如果是a[n],++j<n.
if(i<j) {
temp=a[i];
a[i]=a[j];
a[j]=temp;}
这里我怎么感觉不对呢,
if(i<j) a[i] a[j]对调,那不是大的换前边去了么