C++中用什么函数可以将一个数组中的重复元素去除
时间: 2024-04-18 20:30:09 浏览: 144
在C++中,你可以使用以下方法来去除数组中的重复元素:
```cpp
#include <algorithm>
#include <vector>
template <typename T>
std::vector<T> remove_duplicates(std::vector<T>& arr) {
std::sort(arr.begin(), arr.end()); // 先对数组进行排序
auto last = std::unique(arr.begin(), arr.end()); // 使用unique函数将重复元素移到数组末尾
arr.erase(last, arr.end()); // 使用erase函数擦除重复元素
return arr;
}
```
这个函数使用了 `<algorithm>` 头文件中的 `sort` 和 `unique` 函数来去除重复元素。首先对数组进行排序,然后使用 `unique` 函数将重复元素移到数组末尾,并返回指向不重复元素范围的迭代器。最后,使用 `erase` 函数来擦除重复元素。
注意,这个函数接受一个引用参数,并直接修改原始数组。返回的是修改后的数组,如果你不希望修改原始数组,可以创建一个副本并对副本进行操作。
阅读全文