鍖呭惈錛氬鏋淸first2,last2)鍖呭惈鍦╗first1,last1)涓紝榪斿洖true,鍚﹀垯榪斿洖false銆?br>bool includes(InputIterator1 first1, InputIterator1 last1,InputIterator2 first2, InputIterator2 last2)
bool includes(InputIterator1 first1, InputIterator1 last1,InputIterator2 first2, InputIterator2 last2, Compare comp)
鍚堝茍錛氬悎騫禰first1,last1)涓嶽first2,last2)涓や釜闆嗗悎銆?br>OutputIterator set_union(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result)
OutputIterator set_union(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)
姹備氦闆嗭細姹俒first1,last1)涓嶽first2,last2)涓や釜闆嗗悎鐨勪氦闆嗐?
OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result)
OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)
姹傚樊錛氭眰鍦╗first1,last1)涓紝鑰屼笉鍦╗first2,last2)鐨勫厓绱犻泦鍚堛?
OutputIterator set_difference(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result)
OutputIterator set_difference(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)
姹傚縐板樊錛氫袱涓泦鍚堜箣鍜岄泦 鍑忓幓 涓や釜闆嗗悎涔嬩氦闆嗐?
OutputIterator set_symmetric difference(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result)
OutputIterator set_symmetric difference(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)
#include<iostream>
#include<algorithm>
#include<vector>
#include<iterator>
using namespace std;
void init(vector<int>& v, int a, int b)
{
v.clear();
for(int i = a; i <= b; i++){
v.push_back(i);
}
}
int main()
{
vector<int>v1, v2;
vector<int>::iterator itr;
cout << "Includes operator:" << endl;
init(v1,1,5);
init(v2,1,8);
cout << "Vector v1: ";
copy(v1.begin(),v1.end(),ostream_iterator<int>(cout," "));
cout << endl;
cout << "Vector v2: ";
copy(v2.begin(),v2.end(),ostream_iterator<int>(cout," "));
cout << endl;
cout << "v2 is in v1 ? " << (includes(v1.begin(),v1.end(),v2.begin(),v2.end()) ? "yes" : "no") << endl;
cout << "v1 is in v2 ? " << (includes(v2.begin(),v2.end(),v1.begin(),v1.end()) ? "yes" : "no") << endl;
cout << endl;
init(v1,1,5);
init(v2,3,8);
cout << "Vector v1: ";
copy(v1.begin(),v1.end(),ostream_iterator<int>(cout," "));
cout << endl;
cout << "Vector v2: ";
copy(v2.begin(),v2.end(),ostream_iterator<int>(cout," "));
cout << endl;
cout << "set_union operator on v1,v2: ";
set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),ostream_iterator<int>(cout," "));
cout << endl << endl;
init(v1,1,5);
init(v2,3,8);
cout << "Vector v1: ";
copy(v1.begin(),v1.end(),ostream_iterator<int>(cout," "));
cout << endl;
cout << "Vector v2: ";
copy(v2.begin(),v2.end(),ostream_iterator<int>(cout," "));
cout << endl;
cout << "set_intersecion operator on v1,v2: ";
set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),ostream_iterator<int>(cout," "));
cout << endl << endl;
init(v1,1,5);
init(v2,3,8);
cout << "Vector v1: ";
copy(v1.begin(),v1.end(),ostream_iterator<int>(cout," "));
cout << endl;
cout << "Vector v2: ";
copy(v2.begin(),v2.end(),ostream_iterator<int>(cout," "));
cout << endl;
cout << "set_difference operator, v1 to v2: ";
set_difference(v1.begin(),v1.end(),v2.begin(),v2.end(),ostream_iterator<int>(cout," "));
cout << endl;
cout << "set_difference operator, v2 to v1: ";
set_difference(v2.begin(),v2.end(),v1.begin(),v1.end(),ostream_iterator<int>(cout," "));
cout << endl << endl;
init(v1,1,5);
init(v2,3,8);
cout << "Vector v1: ";
copy(v1.begin(),v1.end(),ostream_iterator<int>(cout," "));
cout << endl;
cout << "Vector v2: ";
copy(v2.begin(),v2.end(),ostream_iterator<int>(cout," "));
cout << endl;
cout << "set_symmetric_difference operator, v1 to v2: ";
set_symmetric_difference(v1.begin(),v1.end(),v2.begin(),v2.end(),ostream_iterator<int>(cout," "));
cout << endl;
cout << "set_symmetric_difference operator, v2 to v1: ";
set_symmetric_difference(v2.begin(),v2.end(),v1.begin(),v1.end(),ostream_iterator<int>(cout," "));
cout << endl << endl;
return 0;
}
Includes operator:
Vector v1: 1 2 3 4 5
Vector v2: 1 2 3 4 5 6 7 8
v2 is in v1 ? no
v1 is in v2 ? yes
Vector v1: 1 2 3 4 5
Vector v2: 3 4 5 6 7 8
set_union operator on v1,v2: 1 2 3 4 5 6 7 8
Vector v1: 1 2 3 4 5
Vector v2: 3 4 5 6 7 8
set_intersecion operator on v1,v2: 3 4 5
Vector v1: 1 2 3 4 5
Vector v2: 3 4 5 6 7 8
set_difference operator, v1 to v2: 1 2
set_difference operator, v2 to v1: 6 7 8
Vector v1: 1 2 3 4 5
Vector v2: 3 4 5 6 7 8
set_symmetric_difference operator, v1 to v2: 1 2 6 7 8
set_symmetric_difference operator, v2 to v1: 1 2 6 7 8

]]>