দুটি সেটের ইন্টারসেকশন (Intersection) হলো সেই উপাদানগুলো যা দুটি সেটেই সাধারণভাবে থাকে। ফাংশনটি সবসময় প্রথম সেট থেকে উপাদানগুলো কপি করে একই ক্রমে।
সেট অপারেশন প্রকারভেদ:
- Set Union
- Set Intersection
- Symmetric Set Difference
- Set Difference
এলগরিদম
শুরু ভেক্টর v এবং ইটারেটর st ঘোষণা করুন st = set_intersection(set1, set1+n, set2, set2+n, v.begin()) ইন্টারসেকশন প্রিন্ট করুন শেষ
উদাহরণ কোড
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int set1[] = {5, 6, 7, 8, 9, 10};
int set2[] = {1, 2, 3, 4, 6, 7};
vector<int> v(10);
vector<int>::iterator st;
sort(set1, set1 + 6);
sort(set2, set2 + 6);
st = set_intersection(set1, set1 + 6, set2, set2 + 6, v.begin());
v.resize(st - v.begin());
cout << "The intersection between the two set has " << v.size() << " elements: " << endl;
for (st = v.begin(); st != v.end(); ++st)
cout << *st << " ";
cout << endl;
return 0;
}
আউটপুট
The intersection between the two set has 2 elements: 6 7
নোট: set_intersection-ও ইনপুট রেঞ্জগুলো সর্টেড থাকতে হবে। ফলাফলও সর্টেড অর্ডারে থাকে।