मान लीजिए कि हमारे पास दो अलग-अलग सरणियाँ हैं। हमें सी ++ एसटीएल जोड़ी वर्ग का उपयोग करके दूसरे सरणी के आधार पर एक सरणी को सॉर्ट करना होगा। दो सरणियों पर विचार करें जैसे A1 =[2, 1, 5, 4, 9, 3, 6, 7, 10, 8], और दूसरी सरणी A2 =[A, B, C, D, E, F, G जैसी है। , एच, आई, जे], आउटपुट इस तरह होगा:ए 1 =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ए 2 =[बी, ए, एफ, डी, सी , जी, एच, जे, ई, आई]
यहां हम C++ STL के जोड़ियों का उपयोग कर रहे हैं। युग्म A1 से एक तत्व, A2 से दूसरा तत्व लेकर बनता है। फिर बस सॉर्टिंग फ़ंक्शन का उपयोग करें। एक बात हमने ध्यान में रखी है, कि जोड़ी में पहला तत्व, सरणी बनाना चाहिए, जिसके अनुसार छँटाई की जाती है।
उदाहरण
#include <iostream> #include <algorithm> #include <map> using namespace std; template <class T> void display(T arr[], int n) { for (int i = 0; i < n; i++) cout << arr[i] << " "; } void sortUsingSecondArr(int A1[], char A2[], int n){ pair<int, char> pair_arr[n]; for (int i = 0; i < n; i++) { pair_arr[i].first = A1[i]; pair_arr[i].second = A2[i]; } sort(pair_arr, pair_arr + n); for (int i = 0; i < n; i++) { A1[i] = pair_arr[i].first; A2[i] = pair_arr[i].second; } } int main() { int n = 10; int A1[] = {2, 1, 5, 4, 9, 3, 6, 7, 10, 8}; char A2[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'}; cout << "Before Sorting: "<<endl; cout << "First Array : "; display(A1, n); cout << "\nSecond Array: "; display(A2, n); sortUsingSecondArr(A1, A2, n); cout << "\n\nAfter Sorting: "<<endl; cout << "First Array : "; display(A1, n); cout << "\nSecond Array: "; display(A2, n); }
आउटपुट
Before Sorting: First Array : 2 1 5 4 9 3 6 7 10 8 Second Array: A B C D E F G H I J After Sorting: First Array : 1 2 3 4 5 6 7 8 9 10 Second Array: B A F D C G H J E I