删除数组中重复出现的数据c++
时间: 2024-12-15 11:22:39 浏览: 17
在C++中删除数组中重复出现的数据,有几种常见的方法可以实现。这里我会介绍一种简单直接的方式,即使用哈希集合(如`std::unordered_set`),因为它的插入操作时间复杂度为O(1),可以有效辅助去重。
首先,需要包含必要的头文件:
```cpp
#include <iostream>
#include <vector>
#include <unordered_set>
```
然后,你可以定义一个函数,它接受一个整数数组和大小作为输入,并返回一个新的无重复元素的数组:
```cpp
std::vector<int> removeDuplicates(const std::vector<int>& arr) {
std::unordered_set<int> uniqueSet;
std::vector<int> result;
for (int num : arr) {
if (uniqueSet.find(num) == uniqueSet.end()) { // 如果元素不在哈希集中
uniqueSet.insert(num); // 插入元素到哈希集
result.push_back(num); // 将元素添加到结果数组
}
}
return result;
}
```
接下来,你可以创建一个示例数组并调用这个函数:
```cpp
int main() {
std::vector<int> input = {1, 2, 3, 4, 4, 5, 6, 7, 7};
std::vector<int> uniqueArray = removeDuplicates(input);
for (int i : uniqueArray) {
std::cout << i << " ";
}
阅读全文