c++消除数组重复值
时间: 2024-12-12 11:29:48 浏览: 43
在C++中,要去除数组中的重复值,有多种方法,具体取决于数组存储的数据类型。这里我们以常见的整数数组为例,介绍一种简单的方法:
如果你有一个动态大小的整数数组,可以先创建一个新的数组,然后遍历原数组,如果新数组中的元素还没有该值,则添加进去。
```cpp
#include <vector>
void removeDuplicates(int arr[], int n) {
std::vector<int> unique_vec;
for (int i = 0; i < n; ++i) {
if (std::find(unique_vec.begin(), unique_vec.end(), arr[i]) == unique_vec.end()) {
unique_vec.push_back(arr[i]);
}
}
// 将unique_vec复制回原始数组,假设arr有足够的空间
for (size_t i = 0; i < unique_vec.size(); ++i) {
arr[i] = unique_vec[i];
}
}
// 使用示例
int main() {
int arr[] = {1, 2, 2, 3, 4, 4, 4};
int n = sizeof(arr) / sizeof(arr[0]);
removeDuplicates(arr, n);
// 现在arr数组将只包含独特的元素:1, 2, 3, 4
return 0;
}
```
阅读全文