কম্পিউটার

C++ STL-এ সেট ব্যবহার করে বিপরীত গণনা করা হচ্ছে


এই টিউটোরিয়ালে, আমরা 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. সি/সি++ প্রোগ্রাম মার্জ সর্ট ব্যবহার করে একটি অ্যারের মধ্যে বিপরীতমুখী গণনা করতে?

  2. C++ এ STL ব্যবহার করে K’th ক্ষুদ্রতম/বৃহৎ উপাদান

  3. C++ ব্যবহার করে দুটি অ্যারেতে উপাদান গণনা করা হচ্ছে

  4. C++ এ একটি সমতলে সমান্তরালগ্রামের গণনা