इस ट्यूटोरियल में, हम युग्मों के वेक्टर का उपयोग करके सरणी को उसके कम रूप में परिवर्तित करने के लिए एक प्रोग्राम पर चर्चा करेंगे।
इसके लिए हमें एक सरणी प्रदान की जाएगी। हमारा कार्य दी गई सरणी को उसके कम रूप में परिवर्तित करना है जैसे कि इसमें केवल 0 से n-1 तक के तत्व हों।
उदाहरण
#include <bits/stdc++.h> using namespace std; //सरणी को उसके कम रूप में परिवर्तित करना void convert(int arr[], int n){ //युग्मों का एक वेक्टर बनाना vector <pair<int, int> > v; //तत्वों को उनके इंडेक्स के साथ वेक्टर में डालना for (int i = 0; i < n; i++) v.push_back(make_pair(arr[i], i)); sort(v.begin(), v.end()); for (int i=0; i<n; i++) arr[v[i].second] = i; } //सरणी प्रिंट करना void print_array(int arr[], int n) { for (int i=0; i<n; i++) cout << arr[i] << " "; } int main(){ int arr[] = {10, 20, 15, 12, 11, 50}; int n = sizeof(arr)/sizeof(arr[0]); cout << "Given Array is :\n"; print_array(arr, n); convert(arr , n); cout << "\nConverted Array:\n"; print_array(arr, n); return 0; } आउटपुट
Given Array : 10 20 15 12 11 50 Converted Array: 0 4 3 2 1 5