首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

STL 初学初学者: 在一个组排好序的vector 中, 怎么删除值相近的元素

2012-03-27 
STL 初学菜鸟: 在一个组排好序的vector 中, 如何删除值相近的元素.如:在序列中{0,34,36,42,62,69,70,80,83

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啊

热点排行