public class MyClass {
public static void print(int arr[]) {
int size = arr.length;
for (int i = 0; i < size; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
public static void reorder(int arr[], int indexes[], int i) {
int size = arr.length;
if (i < size) {
int data = arr[i];
reorder(arr, indexes, i+1);
arr[indexes[i]] = data;
}
}
public static void main(String args[]) {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int indexes[] = {1, 0, 4, 3, 2, 5, 9, 7, 8, 6};
print(arr);
print(indexes);
reorder(arr, indexes ,0);
print(arr);
}
}
/*
run:
1 2 3 4 5 6 7 8 9 10
1 0 4 3 2 5 9 7 8 6
2 1 5 4 3 6 10 8 9 7
*/