C++STL 集合算法 set

it2022-05-08  9

#include <iostream> #include <vector> #include <algorithm> #include <string> using namespace std; void printV(vector<int> &vec) { for (vector<int>::iterator it = vec.begin();it!=vec.end();it++) { cout << *it << " "; } cout << endl; } void set_union_() { vector<int> vec1; vec1.push_back(1); vec1.push_back(3); vec1.push_back(5); vector<int> vec2; vec2.push_back(2); vec2.push_back(4); vec2.push_back(6); vector<int> vec3; vec3.resize(vec1.size() + vec2.size()); //set_union:取并集 set_union(vec1.begin(), vec1.end(), vec2.begin(), vec2.end(), vec3.begin()); printV(vec3); } void set_intersection_() { vector<int> vec1; vec1.push_back(1); vec1.push_back(3); vec1.push_back(5); vector<int> vec2; vec2.push_back(1); vec2.push_back(4); vec2.push_back(6); vector<int> vec3; vec3.resize(vec1.size() + vec2.size()); //set_intersection:取交集 set_intersection(vec1.begin(), vec1.end(), vec2.begin(), vec2.end(), vec3.begin()); printV(vec3); } void set_difference_() { vector<int> vec1; vec1.push_back(1); vec1.push_back(3); vec1.push_back(5); vector<int> vec2; vec2.push_back(1); vec2.push_back(4); vec2.push_back(6); vector<int> vec3; vec3.resize(vec1.size() + vec2.size()); //set_intersection:取差集(vec1-vec2) set_difference(vec1.begin(), vec1.end(), vec2.begin(), vec2.end(), vec3.begin()); printV(vec3); } void main() { set_union_(); set_intersection_(); set_difference_(); system("pause"); }

 


最新回复(0)