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.youkuaiyun.com/laoma023012/article/details/51966238
本文介绍了STL中unique函数的用法,该函数用于移除容器中相邻的重复元素,并将其余元素重新排列。文章详细解释了如何通过结合sort、unique及erase函数来实现数组的完全去重操作。
856

被折叠的 条评论
为什么被折叠?



