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

C++ में STL Array पर रिलेशनल ऑपरेटर्स

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

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

कम-से-कम (<) तुलना लेक्सिकोग्राफिक तरीके से काम करती है। एल्गोरिथ्म std::lexicographic_compare एल्गोरिथम की तरह काम करता है। तुलना पारस्परिक तरीके से ऑपरेटर (<) का उपयोग करके क्रमिक रूप से काम करती है (एक <बी और बी <ए दोनों की जांच करें)। पहले अक्षर से अंत तक शब्दों को वर्णानुक्रम में क्रमबद्ध करने के लिए शब्दकोशों में लेक्सिकोग्राफिक ऑर्डर का उपयोग किया जाता है। अन्य ऑपरेटर ==और <का उपयोग करते हैं जैसा कि नीचे दिखाया गया है -

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

ये ऑपरेटर्स <हेडर> एरे में ओवरलोडेड हैं।

नोट:L.H.S पर दोनों STL सरणियाँ। और आर.एच.एस. समान पैरामीटर होने चाहिए <प्रकार, लंबाई>।

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

यदि शर्तें सही हैं या गलत हैं तो वापसी मूल्य सही है।

उदाहरण

#include <iostream>
#include <stdio.h>
#include <array>
using namespace std;
int main(){
   // declaration of array
   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 is equivalent to !(a<b) as shown
   if (marks1 >= marks2){
       cout << "Marks1 is greater than equal to Marks2\n";
   }
   else{
      cout << "Marks1 is neither greater nor equal to Marks2\n";
   }
   if (!(marks1 < marks2)){
      cout << "Marks1 is greater than equal to Marks2\n";
   }
   else{
      cout << "Marks1 is neither greater nor equal to Marks2\n";
   }
   //a<=b is equivalent to !(a>b) as shown
   if (marks1 <= marks2){
      cout << "Marks1 is less than equal to Marks2\n";
   }
   else{
      cout << "Marks1 is neither less nor equal to Marks2\n";
   }
   if (!(marks1 > marks2)){
       cout << "Marks1 is less than equal to Marks2\n";
   }
   else{
      cout << "Marks1 is neither less nor equal to Marks2\n";
   }
   //a!=b is equivalent to !(a==b) as shown
   if (marks1 != marks3){
      cout << "Marks1 is not equal to Marks2\n";
   }
   else{
      cout << "Marks1 is equal to Marks2\n";
   }
   if (!(marks1 == marks3)){
      cout << "Marks1 is not equal to Marks2\n";
   }
   else{
      cout << "Marks1 is equal to Marks2\n";
   }
   return 0;
}

आउटपुट

Marks1 is neither greater nor equal to Marks2
Marks1 is neither greater nor equal to Marks2
Marks1 is less than equal to Marks2
Marks1 is less than equal to Marks2
Marks1 is equal to Marks2
Marks1 is equal to Marks2

  1. C++ संबंधपरक और समानता संचालक

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

  1. C++ में संबंधपरक और तुलना ऑपरेटर

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

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

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