25 Apr 2013

c++ vector删除重复元素

收藏到CSDN网摘
vector元素去重,有3个办法,
1. copy到set,然后再copy回去
2. 利用unique函数实现,但是需要排序,会破坏元素顺序
3. 遍历判断

下面是unique函数的实现方法,需要引用algorithm头文件
int a[] = {3, 2, 3, 5, 7, 5, 9 ,2};
std::vector<int> vec(a, a+sizeof(a)/sizeof(int) );
std::sort(vec.begin(), vec.end() );
vector<int>::iterator iter_end;
iter_end = std::unique(vec.begin(), vec.end() );
vec.erase(iter_end, vec.end() );

No comments :

Post a Comment