Given an array and a value, remove all instances of that value in place and return the new length.
The order of elements can be changed. It doesn't matter what you leave beyond the new length.
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[] = { 1, 2, 3, 4, 5, 2, 2, 6, 7 };
int len = sizeof(a) / sizeof(a[0]);
int temp = 0;
//for (int i = 0; i < len; i++)
//{
// if (a[i] != 2)
// {
// a[temp]=a[i];
// temp++;
// }
//}
int b[] = {NULL};
int k = 0;
for (int i = 0; i < len; i++)
{
if (a[i] != 2)
b[k++] = a[i];
}
for (int j = 0; j < k; j++)
{
a[j] = b[j];
}
//数组中不是新的数组元素 带有旧的元素;
for (int i = 0; i < k; i++)
cout << a[i] << endl;
system("pause");
return 0;
}