我的代码:把不是零的数装到数组a中;再重新给nums赋值,把零放在后面;
void moveZeroes(int* nums, int numsSize) {
int i=0,c=0;int a[numsSize];
for(i=0;i<numsSize;i++){
if(nums[i]!=0){
a[c++]=nums[i];
}
}
for(i=0;i<c;i++){
nums[i]=a[i];
}
for(i=c;i<numsSize;i++){
nums[i]=0;
}
for(i=0;i<numsSize;i++){
printf("%d",nums[i]);
}
}
运行结果:
更改一点后:(直接把非零的数重新给nums赋值,后面补零)(你们还有更好的改进吗)