C++中的unique函数

来源:互联网 发布:c#网络编程视频 编辑:程序博客网 时间:2024/06/12 01:05

STL中的unique函数的头文件:

#include<iostream>

unique 的作用是“去掉”容器中相邻元素的重复元素,这里所说的“去掉”并不是真正把重复元素删除,它实质上是一个伪去除,是把重复的元素移到后面去了,然后依然保存到了原数组中,然后返回去重后最后一个元素的地址。
因为unique去除的是相邻元素的重复元素,所以使用之前需要排序。

sort, unique和erase的联合使用,可以将一个有重复元素的数组的重复元素去除,从而转化成一个无重复元素的有序数组。

end_unnique = unique(result.begin(), result.end());result.erase(end_unique, result.end());

由于 end_unique返回去重后最后一个元素的位置,而重复的元素都被移动到后面去了,所以要将从去重后最后一个元素的地址 到 原数组最后一个地址 这些地址中的元素去掉,从而得到无重复元素的数组。

reference:
http://blog.csdn.net/laoma023012/article/details/51966238

0 0
原创粉丝点击