unique函数c++
时间: 2023-08-13 22:54:50 浏览: 162
C++中unique函数的用法示例
5星 · 资源好评率100%
C++中有多种实现方式可以实现一个去重的函数,其中一种常见的方式是使用标准库中的`std::unique`函数。这个函数可以用于去除容器中相邻的重复元素。
以下是`std::unique`函数的基本用法:
```cpp
#include <algorithm>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 2, 3, 4, 4, 5};
// 使用 std::unique 函数去重
auto it = std::unique(numbers.begin(), numbers.end());
// 使用 erase 函数擦除重复元素后的部分
numbers.erase(it, numbers.end());
// 输出去重后的结果
for (int number : numbers) {
std::cout << number << " ";
}
return 0;
}
```
上述代码将输出:`1 2 3 4 5`,即去除了容器中相邻的重复元素。
注意,`std::unique`函数并不实际删除重复元素,而是将重复元素移动到容器尾部,并返回指向不重复元素范围末尾的迭代器。因此,我们还需要使用`erase`函数擦除这些重复元素。
此外,如果要去重的容器是数组而不是容器,我们可以使用类似的`std::unique`算法来实现。
阅读全文