c++的unique函数
时间: 2023-08-29 16:08:54 浏览: 90
C++的unique函数是用于去除容器中相邻的重复元素的函数。它可以用于任何支持双向迭代器的容器,如vector、list和deque等。unique函数会将重复的元素移动到容器的末尾,并返回一个指向不重复元素范围末尾的迭代器。
unique函数的使用方法如下:
```cpp
template <class ForwardIterator>
ForwardIterator unique (ForwardIterator first, ForwardIterator last);
```
其中,first和last分别指定容器中要操作的元素范围。返回值为指向不重复元素范围末尾的迭代器。
例如,下面的代码演示了如何使用unique函数去除vector中的重复元素:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 2, 3, 3, 4, 5, 5};
auto last = std::unique(vec.begin(), vec.end());
vec.erase(last, vec.end());
for (const auto& element : vec) {
std::cout << element << " ";
}
return 0;
}
```
输出结果为:1 2 3 4 5
在上述代码中,unique函数首先将重复的元素移动到容器末尾,然后通过erase函数擦除重复元素所在的范围,最后输出去重后的容器内容。
希望这能解答您的问题!如果还有其他问题,请随时提问。
阅读全文