帮我用c++把vector<int>VK,里面重复的元素保留1个,并且获得重复的次数
时间: 2024-02-11 09:09:29 浏览: 144
实现从vector中过滤重复的数据
5星 · 资源好评率100%
好的,可以使用C++的STL库中的sort()函数和unique()函数来实现去除vector中重复的元素,同时使用count()函数来统计每个元素在vector中的出现次数,代码如下:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> VK = {1, 2, 3, 2, 4, 3, 5}; // 初始化vector
// 使用sort()函数对vector进行排序
sort(VK.begin(), VK.end());
// 使用unique()函数去除重复元素
auto iter = unique(VK.begin(), VK.end());
// 统计每个元素在vector中的出现次数
for (auto i = VK.begin(); i != iter; i++)
{
int count = std::count(VK.begin(), VK.end(), *i);
cout << *i << " 重复了 " << count << " 次" << endl;
}
// 使用erase()函数删除重复元素
VK.erase(iter, VK.end());
// 输出去重后的vector
for (auto i : VK)
cout << i << " ";
cout << endl;
return 0;
}
```
输出结果为:
```
1 重复了 1 次
2 重复了 2 次
3 重复了 2 次
4 重复了 1 次
5 重复了 1 次
1 2 3 4 5
```
阅读全文