STL中unique函数的用法
来源:互联网 发布:大数据的定义及特点 编辑:程序博客网 时间:2024/06/04 23:54
在STL中unique函数是一个去重函数, unique的功能是去除相邻的重复元素(只保留一个),其实它并不真正把重复的元素删除,是把重复的元素移到后面去了,然后依然保存到了原数组中,然后 返回去重后最后一个元素的地址,因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序。
注意,words的大小并没有改变,依然保存着10个元素;只是这些元素的顺序改变了。调用unique“删除”了相邻的重复值。给“删除”加上引号是因为unique实际上并没有删除任何元素,而是将无重复的元素复制到序列的前段,从而覆盖相邻的重复元素。unique返回的迭代器指向超出无重复的元素范围末端的下一个位置。
注意:算法不直接修改容器的大小。如果需要添加或删除元素,则必须使用容器操作。
#include <iostream>#include <cassert>#include <algorithm>#include <vector>#include <string>#include <iterator> using namespace std; int main(){ //cout<<"Illustrating the generic unique algorithm."<<endl; const int N=11; int array1[N]={1,2,0,3,3,0,7,7,7,0,8}; vector<int> vector1; for (int i=0;i<N;++i) vector1.push_back(array1[i]); vector<int>::iterator new_end; new_end=unique(vector1.begin(),vector1.end()); //"删除"相邻的重复元素 assert(vector1.size()==N); vector1.erase(new_end,vector1.end()); //删除(真正的删除)重复的元素 copy(vector1.begin(),vector1.end(),ostream_iterator<int>(cout," ")); cout<<endl; return 0;}
运行结果为:1 2 0 3 0 7 0 8
0 0
- STL中unique函数的用法
- STL algorithm 之 unique 函数的用法
- STL算法 unique的用法
- STL中的Unique的用法
- MATLAB中unique()函数的用法
- unique函数的用法
- unique函数的用法
- STL中sort函数的用法
- STL中sort()函数的用法详解
- STL中sort()函数的用法
- (STL)std::unique函数的实现
- unique函数的使用方法(STL库函数)
- stl vector unique函数
- STL-unique()函数
- unique函数(STL)
- STL-unique函数
- STL unique函数
- 【STL】unique函数
- Struts2_1_struts2运行环境的搭建
- 工作中的问题解决 -- (win2003 asp.net) Session和带页面回传的方法无法正常使用解决方案
- 《Android 4高级编程》学习摘要
- a^b%c 的三种形式
- Instance method '-copyPath:toPath:handler:' not found (return type defaults to 'id')
- STL中unique函数的用法
- the Marvelous Land of Oz 49%
- 【竞品分析】腾讯QQ手机浏览器与UC手机浏览器产品对比
- hdu 1785 You Are All Excellent
- 剑指offer 3.4 代码的鲁棒性2- 反转链表
- js跨浏览器事件处理程序
- SendMessage 异常捕获问题
- 设计模式中的关系在代码中的实现
- IOS开发——Xcode控制台输出中文