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