STL 初学菜鸟: 在一个组排好序的vector 中, 如何删除值相近的元素.
如: 在序列中{0,34,36,42,62,69,70,80,83};
设定相隔值为5. 也就是相邻两个值的差小于. 刚删去第一个..
移除后,
{0,34,42,62,70,80}
[解决办法]
what is your problem? just use remove(); Or you can overload operator() when adding items to this vector.
[解决办法]
自己for循环
[解决办法]
vector <int> vec;
vector <int> ::iterator begin;
vector <int> ::iterator end;
begin = vec.begin();
end = begin++;
while(begin != vec.end())
{
if((*begin==*end - 5)||(*begin == *end + 5))
vec.erase(begin);
begin++;
end++;
}
按你的说法应该删除的是非曲直62啊