Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

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++ में विषम संख्या के रूप में जोड़े की संख्या

    एक सरणी को देखते हुए, हमें उन युग्मों की संख्या ज्ञात करनी है जिनका बिटवाइज़ OR एक विषम संख्या है। आइए उदाहरण देखें। इनपुट arr = [1, 2] आउटपुट 1 केवल एक जोड़ा है जिसका बिटवाइज़ OR एक विषम संख्या है। और जोड़ी है (1, 2)। एल्गोरिदम यादृच्छिक संख्याओं के साथ सरणी प्रारंभ करें। गिनती को 0 से प्रार

  1. युग्मों की संख्या जिनका योग C++ . में 2 की घात है

    एक सरणी को देखते हुए, हमें उन युग्मों की संख्या ज्ञात करनी है जिनका योग 2 की घात है। आइए उदाहरण देखें। इनपुट arr = [1, 2, 3] आउटपुट 1 केवल एक युग्म है जिसका योग 2 की घात है और युग्म (1, 3) है। एल्गोरिदम यादृच्छिक संख्याओं के साथ सरणी प्रारंभ करें। गिनती को 0 से प्रारंभ करें। सरणी के सभी जोड़े

  1. सी ++ का उपयोग कर ओपनसीवी में बाइनरी छवि कैसे बनाएं?

    एक द्विआधारी छवि सिर्फ एक डिजिटल छवि है जो दो रंगों, काले और सफेद का प्रतिनिधित्व करती है। इमेज प्रोसेसिंग के नजरिए से, बाइनरी इमेज में दो संभावित मानों वाले पिक्सल होते हैं- शून्य और एक। जब पिक्सेल का मान 0 होता है, तो यह एक शुद्ध काले रंग का प्रतिनिधित्व करता है। जब पिक्सेल का मान 1 होता है, तो इस