STL unique使用问题
2014-03-23 22:45
274 查看
string strs[] = {"one","one","two","three","three","four"}; vector<string> vs(strs,strs+6); unique(vs.begin(),vs.end()); for(vector<string>::iterator vi = vs.begin();vi!=vs.end();vi++) cout << *vi << "\t;
为什么执行结果为 one two three four three four
查看unipue源码,unique以最高的效率实现相邻相同元素的赋值删除,容器中的元素数量没有改变,但元素的值发生了改变(绝大部分情况下),不保证重复元素排在容器尾部
template <class ForwardIterator> ForwardIterator unique (ForwardIterator first, ForwardIterator last) { if (first==last) return last; ForwardIterator result = first; while (++first != last) { if (!(*result == *first)) // or: if (!pred(*result,*first)) for version (2) *(++result)=*first; } return ++result; }
相关文章推荐
- 关于STL中vector使用unique()去重的问题
- 关于STL中vector使用unique()去重的问题
- 跨dll使用template/STL需要注意的问题
- STL容器元素深/浅拷贝问题和STL容器使用时机
- 程序与DLL 使用 STL作为接口的问题
- stl的unique算法使用中的常见错误
- aix使用g++编译时一个stl string的问题
- STL使用sort注意的问题
- php中array_unique 和 json_encode 同时使用的问题
- STL string 类使用注意问题
- 关于stl中transfrom使用时编译错误问题
- 使用 STL 辅助解决算法问题
- [STL] __gnu_cxx::hash_map使用中的一些问题
- stl中auto_ptr,unique_ptr,shared_ptr,weak_ptr四种智能指针使用总结
- 使用STL处理分支限界法处理最优装载问题
- TSP问题_遗传算法(STL大量使用)
- 使用STL处理分支限界法处理最优装载问题
- STL 使用遇到的问题汇总(更新中)
- leetcode-Contains Duplicate,STL unique,unique_copy等函数的使用
- STL容器使用该注意的一个问题