1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#include<iostream>
using namespace std;
// Function to reorder elements of arr[] according
// to index[]
void reorder(int arr[], int index[], int n)
{
int temp[n];
for (int i=0; i<n; i++)
temp[index[i]] = arr[i];
for (int i=0; i<n; i++)
{
arr[i] = temp[i];
index[i] = i;
}
}
int main()
{
int arr[] = {3, 2, 1, 5, 6, 4};
int arb[] = {5, 6, 1, 3, 2, 4};
int index[] = {3, 4, 2, 0, 1, 5};
int n = sizeof(arr)/sizeof(arr[0]);
cout << "\nSequence array is: \n";
for (int i=0; i<n; i++)
std::cout << index[i] << ' ';
cout << "\nOriginal array is: \n";
for (int i=0; i<n; i++)
cout << arr[i] << " ";
printf("\n");
reorder(arr, index, n);
reorder(arb, index, n);
cout << "Reordered array is: \n";
for (int i=0; i<n; i++)
cout << arr[i] << " ";
printf("\n");
printf("\n");
return 0;
}
| |