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

C++ में STL सरणी पर संबंधपरक ऑपरेटर


एक ही प्रकार के ऑपरेंड की तुलना के लिए छह संबंधपरक ऑपरेटर हैं। ये >, <, ==, <=, >=, != हैं। इस लेख में C++ में STL सरणी पर इन संबंधपरक ऑपरेटरों की व्याख्या है। STL सरणी में उपयोग किए जाने वाले दो प्रमुख ऑपरेटर समानता तुलना (==) और कम-से-कम तुलना (<) हैं।

समानता (==) तुलना == ऑपरेटर के दोनों ओर की दोनों सरणियों के तत्वों की तुलना शुरू करती है। L.H.S और R.H.S की पहली तत्वों से शुरू होकर, तुलना पहले बेमेल पर रुक जाती है।

कम-से-कम (<) तुलना लेक्सिकोग्राफिक तरीके से काम करती है। एल्गोरिदम std::lexicographic_compare एल्गोरिदम की तरह काम करता है। तुलना ऑपरेटर(<) का उपयोग करके पारस्परिक तरीके से क्रमिक रूप से काम करती है (a

  • a!=b, !(a==b) के बराबर है
  • a>b, (b
  • a<=b, !(b
  • a>=b, !(a

ये ऑपरेटर

सरणी में ओवरलोडेड हैं।

नोट: L.H.S. और R.H.S. दोनों STL सरणियों में समान पैरामीटर होने चाहिए।

समय जटिलता तुलना की रैखिक समय है और सरणी के आकार पर निर्भर करती है। O(n)

वापसी मान सच है यदि शर्तें मान्य हैं या अन्यथा गलत।

उदाहरण

#include <iostream> #include <stdio.h> #include <array> using namespace std; int main(){    // सरणी की घोषणा    array<int, 5> marks1 = { 10,20,30,40,50 };    array<int, 5> marks2 = { 100,200,300,400,500 };    array<int, 5> marks3 = { 10,20,30,40,50 };    //a>=b, !(ab) के बराबर है जैसा दिखाया गया है    if (marks1 <= marks2){       cout << "Marks1, Marks2 से कम या बराबर है\n";    }    else{       cout << "Marks1, Marks2 से न तो कम है और न ही बराबर\n";    }    if (!(marks1 > marks2)){        cout << "Marks1, Marks2 से कम या बराबर है\n";    }    else{       cout << "Marks1, Marks2 से न तो कम है और न ही बराबर\n";    }    //a!=b, !(a==b) के बराबर है जैसा दिखाया गया है    if (marks1 != marks3){       cout << "Marks1, Marks2 के बराबर नहीं है\n";    }    else{       cout << "Marks1, Marks2 के बराबर है\n";    }    if (!(marks1 == marks3)){       cout << "Marks1, Marks2 के बराबर नहीं है\n";    }    else{       cout << "Marks1, Marks2 के बराबर है\n";    } return 0; }

आउटपुट

Marks1 न तो Marks2 से अधिक है और न ही बराबर Marks1 न तो Marks2 से अधिक है और न ही बराबर Marks1, Marks2 से कम या बराबर है Marks1, Marks2 से कम या बराबर है Marks1, Marks2 के बराबर है Marks1, Marks2 के बराबर है

  1. - C++ रिलेशनल और इक्वलिटी ऑपरेटर्स

    C प्रोग्रामिंग में, 2 वेरिएबल्स में रखे गए मानों की तुलना निम्न ऑपरेटर्स का उपयोग करके की जाएगी और उनके बीच संबंध निर्धारित किया जाएगा। इन ऑपरेटर्स को रिलेशनल ऑपरेटर्स कहा जाता है। विभिन्न C++ रिलेशनल ऑपरेटर्स उपलब्ध हैं: ऑपरेटर्स विवरण > ग्रेटर दैन >= ग्रेटर दैन या बराबर <= लेस

  1. - C++ में रिलेशनल और तुलना ऑपरेटर्स

    C प्रोग्रामिंग में, 2 वेरिएबल्स में रखे गए मानों की तुलना निम्न ऑपरेटर्स का उपयोग करके की जा सकती है और उनके बीच संबंध निर्धारित किया जाएगा। इन ऑपरेटर्स को रिलेशनल ऑपरेटर्स कहा जाता है। विभिन्न C++ रिलेशनल ऑपरेटर्स उपलब्ध हैं: ऑपरेटर्स विवरण > ग्रेटर दैन >= ग्रेटर दैन या बराबर == ब

  1. - C++ में रिलेशनल ऑपरेटर्स

    C++ प्रोग्रामिंग में, दो वेरिएबल्स में संग्रहीत मानों की तुलना निम्नलिखित ऑपरेटर्स का उपयोग करके की जा सकती है और उनके बीच के संबंध को निर्धारित किया जा सकता है। इन ऑपरेटर्स को रिलेशनल ऑपरेटर्स कहा जाता है। C++ में उपलब्ध विभिन्न रिलेशनल ऑपरेटर्स हैं: ऑपरेटर विवरण > से बड़ा >= से बड़