এই টিউটোরিয়ালে, আমরা C++ এ জোড়ার একটি ক্রমবিহীন মানচিত্র কীভাবে তৈরি করতে হয় তা বোঝার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।
ডিফল্টভাবে জোড়ার জন্য হ্যাশ ফাংশন ধারণ করে না এমন মানচিত্রগুলি হল অ-ক্রমবিহীন মানচিত্র। যদি আমরা একটি নির্দিষ্ট জোড়ার জন্য একটি হ্যাশ মান চাই, তবে এটি স্পষ্টভাবে পাস করা দরকার৷
উদাহরণ
#include <bits/stdc++.h> using namespace std; //to hash any given pair struct hash_pair { template <class T1, class T2> size_t operator()(const pair<T1, T2>& p) const{ auto hash1 = hash<T1>{}(p.first); auto hash2 = hash<T2>{}(p.second); return hash1 ^ hash2; } }; int main(){ //explicitly sending hash function unordered_map<pair<int, int>, bool, hash_pair> um; //creating some pairs to be used as keys pair<int, int> p1(1000, 2000); pair<int, int> p2(2000, 3000); pair<int, int> p3(2005, 3005); um[p1] = true; um[p2] = false; um[p3] = true; cout << "Contents of the unordered_map : \n"; for (auto p : um) cout << "[" << (p.first).first << ", "<< (p.first).second << "] ==> " << p.second << "\n"; return 0; }
আউটপুট
Contents of the unordered_map : [1000, 2000] ==> 1 [2005, 3005] ==> 1 [2000, 3000] ==> 0