remove_if()是删除了你想删除的东西了,,然后它会返回一个指针,这个指针是只想删除了之后的末尾指针,
所以再减去头指针就可以得到个数了,,然后再输出,就得到了你想要的删除后的序列了,,,比较OK!!! 比较喜欢
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
#include <algorithm>
#include <time.h>
using namespace std;
bool op(int a)
{
if(a<0)
return 1;
return 0;
}
int main()
{
int a[120];
for(int i=0;i<5;i++)
scanf("%d",&a[i]);
int n=remove_if(a,a+5,op)-a;
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}