//
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main (int, char *[])
{
const int sizeLegth = 10000;
vector<int> num1000;
vector<int> num;
int count = 0;
for(int size = 0;size < sizeLegth; ++size)
num1000.push_back(size);
vector<int>::iterator numIt = num1000.begin()-1;
for(numIt = num1000.begin()+2;numIt <= num1000.end()-1;numIt+=3)
{
replace(num1000.begin(), num1000.end(), *numIt, 0);//要删除的修改为0
//cout << *numIt << " ";//2 5 8 11 14 17 20 23 26 .....
}
//将值不为0的填入另一容器。
for(numIt=num1000.begin();numIt != num1000.end();++numIt)
{
if(0 == *numIt)continue;
num.push_back(*numIt);
++count;
}
cout << "reseult is: " << count <<endl; // 666
return 0;
}
本文通过C++代码示例介绍了如何使用标准库中的vector容器和算法进行高效的数据筛选。具体包括如何利用迭代器遍历容器、使用replace函数标记待删除元素,并最终收集有效元素到新的容器中。

被折叠的 条评论
为什么被折叠?



