इस ट्यूटोरियल में, हम C++ STL में सेट का उपयोग करके इनवर्जन गिनती करने वाले प्रोग्राम पर चर्चा करेंगे।
इनवर्जन काउंट इस बात का माप है कि ऐरे पूरी तरह से सॉर्टेड होने के कितना करीब है। यदि ऐरे पहले से सॉर्टेड है, तो इनवर्जन काउंट 0 होगा।
उदाहरण
#include<bits/stdc++.h> using namespace std; //इनवर्जन काउंट लौटाना int get_Icount(int arr[],int n){ multiset<int> set1; set1.insert(arr[0]); int invcount = 0; //परिणाम इनिशियलाइज़ करना 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