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

सी ++ एसटीएल में सेट का उपयोग करके व्युत्क्रमों की गणना करना

इस ट्यूटोरियल में, हम C++ STL में सेट का उपयोग करके व्युत्क्रमों की गणना करने के लिए एक प्रोग्राम पर चर्चा करेंगे।

उलटा गिनती एक माप है कि सरणी को पूरी तरह से कैसे क्रमबद्ध किया जाना है। यदि सरणी पहले से ही क्रमबद्ध है, तो उलटा गिनती 0 होगी।

उदाहरण

#include<bits/stdc++.h>
using namespace std;
//returning inversion count
int get_Icount(int arr[],int n){
   multiset<int> set1;
   set1.insert(arr[0]);
   int invcount = 0; //initializing result
   multiset<int>::iterator itset1;
   for (int i=1; i<n; i++){
      set1.insert(arr[i]);
      itset1 = set1.upper_bound(arr[i]);
      invcount += distance(itset1, set1.end());
   }
   return invcount;
}
int main()
{
   int arr[] = {8, 4, 2, 1};
   int n = sizeof(arr)/sizeof(int);
   cout << "Number of inversions count are : "<< get_Icount(arr,n);
   return 0;
}

आउटपुट

Number of inversions count are : 6

  1. सी/सी++ प्रोग्राम मर्ज सॉर्ट का उपयोग करके एक सरणी में व्युत्क्रमों की गणना करने के लिए?

    दिए गए सरणी को क्रमबद्ध करने के लिए होने वाले व्युत्क्रमों की संख्या को व्युत्क्रम गणना के रूप में जाना जाता है। उलटा समस्या एक शास्त्रीय समस्या है जिसे मर्ज सॉर्ट एल्गोरिदम का उपयोग करके हल किया जा सकता है। इस समस्या में हम इसके बाईं ओर सभी तत्वों को अधिक से अधिक गिनेंगे और गिनती को आउटपुट में जोड़

  1. C++ . का उपयोग करके दो सरणियों में तत्वों की गणना करना

    आइए मान लें कि हमने दो अवर्गीकृत सरणियाँ दी हैं arr1[] और arr2[]। कार्य arr2 [] में तत्वों की कुल संख्या की गणना करना है जिसके लिए arr1 [] का प्रत्येक तत्व arr2 [] में मौजूद तत्वों से कम या बराबर है। हालांकि, दोनों सरणी में तत्व में डुप्लीकेट भी हो सकते हैं। उदाहरण के लिए, इनपुट-1 - N = 6 M = 7 ar

  1. C++ में समतल में समांतर चतुर्भुजों की संख्या

    हमें एक समतल दिया गया है जिसमें समांतर चतुर्भुज बनाने वाले बिंदु हैं और कार्य समांतर चतुर्भुजों की गणना करना है जो दिए गए बिंदुओं का उपयोग करके बनाए जा सकते हैं। समांतर चतुर्भुज में एक चतुर्भुज के विपरीत पक्ष समानांतर होते हैं और इसलिए विपरीत कोण बराबर होते हैं। इनपुट - int a[] = {0, 2, 5, 5, 2, 5,