来自LeetCode一道题,把数组中含有 0的位置全部移到最后边,但是其他数字的相对位置保持不变,
条件 不允许开辟新的数组,尽可能少的增加变量,
代码如下
#include <iostream>
using namespace std;
int main()
{
int a[5]={1,3,0,0,5};
int i,j=0;
for(i=0;i<5;i++)
{
if(a[i]!=0)
{
a[j]=a[i];
if(i!=j){
a[i]=0;
}
j++;
}
}
for(i=0;i<5;i++)
cout<<a[i]<<" ";
return 0;
}