现有一个数组1,2,2,3,4,4,5,5,6。想要消除数组内相同的两项,最后剩下1,3,6.如何用c++实现该功能
时间: 2024-10-10 14:15:20 浏览: 22
C语言程序设计第4章数组和指针
你可以使用C++标准库中的`std::set`来实现这个需求,因为`std::set`自动存储唯一的元素,并且保持排序。首先将数组转换成集合,然后再转换回数组即可得到去重后的结果。这里是简单的步骤:
```cpp
#include <iostream>
#include <set>
#include <vector>
std::vector<int> removeDuplicates(const std::vector<int>& arr) {
std::set<int> uniqueSet(arr.begin(), arr.end());
std::vector<int> result(uniqueSet.begin(), uniqueSet.end());
return result;
}
int main() {
std::vector<int> input = {1, 2, 2, 3, 4, 4, 5, 5, 6};
std::vector<int> output = removeDuplicates(input);
for (const auto& num : output) {
std::cout << num << " ";
}
std::cout << "\n";
return 0;
}
```
运行上述代码,你会看到输出:`1 3 4 5 6`,因为集合中不允许有重复项,所以得到了1, 2, 3, 4, 5, 6中唯一的数字,它们按升序排列。
阅读全文