কম্পিউটার

কিভাবে C++ এ জোড়ার একটি unordered_map তৈরি করবেন?


এই টিউটোরিয়ালে, আমরা 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

  1. C++ এ সর্বাধিক যোগফল সহ জোড়ার সংখ্যা

  2. C++ এ বিটওয়াইজ বা বিজোড় সংখ্যা সহ জোড়ার সংখ্যা

  3. জোড়ার সংখ্যা যার যোগফল C++ এ 2 এর শক্তি

  4. কিভাবে C++ ব্যবহার করে OpenCV তে বাইনারি ইমেজ তৈরি করবেন?