C++ unique去重的常用用法

 1 #include <iostream>
 2 #include <vector>
 3 #include <algorithm>
 4  
 5 using namespace std;
 6  
 7 int main()
 8 {
 9     vector<int> nums{1,3,4,6,5,3,2,4,7,5};
10     sort(nums.begin(),nums.end() );          // unique只对相邻元素去重,所以一般先排序
11     auto it = unique(nums.begin(),nums.end());
12     nums.resize(distance(nums.begin(),it));  // 对数组resize
13     /*
14         或者可以
15         nums.erase(std::unique(nums.begin(),nums.end()),nums.end());
16         同样用法的有
17         nums.erase(std::remove(nums.begin(),nums.end(),target),nums.end());
18     */
19     int n = nums.size();
20     for(int i = 0; i < n; ++i) cout << nums[i] << " ";
21     cout << endl;
22     return 0;
23 }

 

posted @ 2020-07-18 23:14  黎曼猜想  阅读(641)  评论(0)    收藏  举报