এই টিউটোরিয়ালে, আমরা জোড়ার ভেক্টর ব্যবহার করে একটি অ্যারেকে তার সংক্ষিপ্ত আকারে রূপান্তর করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।
এর জন্য আমাদের একটি অ্যারে দেওয়া হবে। আমাদের কাজ হল প্রদত্ত অ্যারেটিকে তার সংক্ষিপ্ত আকারে রূপান্তর করা যাতে এতে শুধুমাত্র 0 থেকে n-1 পর্যন্ত উপাদান থাকে৷
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
//converting array to its reduced form
void convert(int arr[], int n){
//creating a vector of pairs
vector <pair<int, int> > v;
//putting elements in vector
//with their indexes
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;
}
//printing the array
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