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 }