C++ unique函数
2016-03-29 15:07
274 查看
类属性算法unique的作用是从输入序列中“删除”所有相邻的重复元素。
该算法删除相邻的重复元素,然后重新排列输入范围内的元素,并且返回一个迭代器(容器的长度没变,只是元素顺序改变了),表示无重复的值范围得结束。
在STL中unique函数是一个去重函数, unique的功能是去除相邻的重复元素(只保留一个),其实它并不真正把重复的元素删除,是把重复的元素移到后面去了,然后依然保存到了原数组中,然后 返回去重后最后一个元素的地址,
因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序。
unique返回的迭代器指向超出无重复的元素范围末端的下一个位置。
该算法删除相邻的重复元素,然后重新排列输入范围内的元素,并且返回一个迭代器(容器的长度没变,只是元素顺序改变了),表示无重复的值范围得结束。
// sort words alphabetically so we can find the duplicates sort(words.begin(), words.end()); /* eliminate duplicate words: * unique reorders words so that each word appears once in the * front portion of words and returns an iterator one past the unique range; * erase uses a vector operation to remove the nonunique elements */ vector<string>::iterator end_unique = unique(words.begin(), words.end()); words.erase(end_unique, words.end());
在STL中unique函数是一个去重函数, unique的功能是去除相邻的重复元素(只保留一个),其实它并不真正把重复的元素删除,是把重复的元素移到后面去了,然后依然保存到了原数组中,然后 返回去重后最后一个元素的地址,
因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序。
unique返回的迭代器指向超出无重复的元素范围末端的下一个位置。
相关文章推荐
- C++ 定义静态数据成员
- c++之冒泡排序
- c语言不同类型返回数组长度用法
- C++ 中引用与指针的区别
- c语言数组参数和返回数组函数详解
- C++下的DLL编程入门
- leetcode_191_Number of 1 Bits(easy)(C++)
- 1017_乘积最大
- C++11:for_each_file遍历目录处理文件
- C语言restrict限定符
- 浅谈C++多态性
- 【C++】:C++多线程编程
- c++制作小游戏--雷电
- 学C语言要了解的几个问题
- C++ DLL
- 基本类型 (C++)和数据类型范围
- Qt creator的"纯c/c++项目"输出中文乱码的问题
- 【LeetCode编程学习(C语言)】2.Add Two Numbers
- C++初始化顺序
- VS中的路径宏 vc++中OutDir、ProjectDir、SolutionDir各种路径