vector unique
时间: 2023-10-12 10:06:59 浏览: 178
在C++中,使用unique函数可以将vector中的重复元素去除。在使用unique之前,需要先对vector进行排序,这样可以将相同的元素放在一起。然后,将unique函数的返回值赋给一个迭代器,该迭代器指向第一个没有被覆盖的元素的位置。最后,使用erase函数将该位置到末尾的元素删除。以下是一个示例代码:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> vec;
vec.push_back(0);
vec.push_back(0);
vec.push_back(0);
vec.push_back(1);
vec.push_back(1);
vec.push_back(1);
vec.push_back(2);
vec.push_back(2);
vec.push_back(2);
vec.push_back(3);
vec.push_back(3);
vec.push_back(4);
sort(vec.begin(), vec.end());
vector<int>::iterator it;
it = unique(vec.begin(), vec.end());
vec.erase(it, vec.end());
for (it = vec.begin(); it != vec.end(); it++) {
cout << *it << " ";
}
return 0;
}
输出结果为: 0 1 2 3 4
请注意,unique函数只能判断相邻的重复元素,因此在使用之前需要对vector进行排序。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [vector unique erase用法总结 :leetcode 26. 删除排序数组中的重复项](https://blog.csdn.net/weixin_43537190/article/details/103993269)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文