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

C++ STL में multiset equal_range() फ़ंक्शन


इस लेख में हम C++ STL में multiset::equal_range() फ़ंक्शन के कार्य, सिंटैक्स और उदाहरणों पर चर्चा करेंगे।

C++ STL में multiset क्या है?

मल्टीसेट सेट कंटेनर के समान कंटेनर हैं, अर्थात वे मानों को कुंजियों के रूप में संग्रहीत करते हैं जैसे एक सेट, एक विशिष्ट क्रम में।

मल्टीसेट में मानों की पहचान सेट के समान कुंजियों के रूप में की जाती है। मल्टीसेट और सेट के बीच मुख्य अंतर यह है कि सेट में विशिष्ट कुंजियां होती हैं, अर्थात कोई दो कुंजियां समान नहीं होतीं, मल्टीसेट में समान कुंजी मान हो सकते हैं।

मल्टीसेट कुंजियों का उपयोग बाइनरी सर्च ट्री को लागू करने के लिए किया जाता है।

multiset::equal_range() क्या है?

multiset::equal_range() फ़ंक्शन C++ STL में एक अंतर्निहित फ़ंक्शन है, जिसे <set> हेडर फ़ाइल में परिभाषित किया गया है। equal_range() मल्टीसेट कंटेनर में समान तत्वों की रेंज प्राप्त करता है।

यह फ़ंक्शन उस रेंज की सीमाएं वापस करता है जिसमें कंटेनर में पैरामीटर के बराबर सभी तत्व शामिल होते हैं जो हम फ़ंक्शन को देते हैं।

सिंटैक्स

ms_name.equal_range(value_type& val);

पैरामीटर

फ़ंक्शन एक पैरामीटर स्वीकार करता है:

  • val - वह मान जिसकी रेंज हम कंटेनर में खोज रहे हैं।

रिटर्न मान

यह फ़ंक्शन निचली सीमा और ऊपरी सीमा का एक जोड़ा वापस करता है जिनके मान बराबर हैं।

उदाहरण

इनपुट

std::multiset<int> mymultiset = {1, 2, 2, 3, 4}; mymultiset.equal_range(2);

आउटपुट

2 2

उदाहरण

#include <bits/stdc++.h>
using namespace std;

int main() {
    multiset<int> check;
    check.insert(10);
    check.insert(20);
    check.insert(30);
    check.insert(40);
    check.insert(50);
    check.insert(60);
    check.insert(70);
    check.insert(80);
    cout << "तत्व हैं: ";
    for (auto i = check.begin(); i != check.end(); i++)
        cout << *i << " ";
    // निचली सीमा और ऊपरी सीमा
    auto i = check.equal_range(30);
    cout << "\n30 की निचली सीमा है " << *i.first;
    cout << "\n30 की ऊपरी सीमा है " << *i.second;
    // अंतिम तत्व
    i = check.equal_range(20);
    cout << "\n20 की निचली सीमा है " << *i.first;
    cout << "\n20 की ऊपरी सीमा है " << *i.second;
    i = check.equal_range(80);
    cout << "\n80 की निचली सीमा है " << *i.first;
    cout << "\n80 की ऊपरी सीमा है " << *i.second;
    return 0;
}

आउटपुट

तत्व हैं: 10 20 30 40 50 60 70 80
30 की निचली सीमा है 30
30 की ऊपरी सीमा है 40
20 की निचली सीमा है 20
20 की ऊपरी सीमा है 30
80 की निचली सीमा है 80
80 की ऊपरी सीमा है 8
  1. - C++ STL में atanh() फ़ंक्शन

    atanh() फ़ंक्शन atanh() फ़ंक्शन आर्क हाइपरबोलिक टैंजेंट (व्युत्क्रम हाइपरबोलिक टैंजेंट) लौटाता है। <cmath> हेडर में परिभाषित (C++11 से)। सिंटैक्स atanh(var) पैरामीटर: var - float, double, या long double। मान -1 और 1 के बीच होना चाहिए (अनन्य)। वापसी मान आर्क हाइपरबोलिक टैंजेंट मान (रेडियन मे

  1. - C++ STL में cosh() फ़ंक्शन

    cosh() फ़ंक्शन cosh() फ़ंक्शन दिए गए कोण (रेडियन में) का हाइपरबोलिक कोसाइन लौटाता है। <cmath> हेडर में परिभाषित। सिंटैक्स cosh(var) पैरामीटर: var - float, double, या long double। वापसी मान हाइपरबोलिक कोसाइन मान, सीमा: [1, ∞)। उदाहरण 1: रेडियन इनपुट #include <iostream> #include <cm

  1. - C++ STL में sinh() फ़ंक्शन

    sinh() फ़ंक्शन sinh() फ़ंक्शन दिए गए कोण (रेडियन में) का हाइपरबोलिक साइन लौटाता है। <cmath> हेडर में परिभाषित। सिंटैक्स sinh(var) पैरामीटर: var - float, double, या long double। वापसी मान हाइपरबोलिक साइन मान, सीमा: (-∞, ∞)। उदाहरण 1: रेडियन इनपुट #include <iostream> #include <cmath