#include <iostream>
void rearrange_array(int arr[], int size) {
int tmp[10] = {0};
for (int i = 0; i < size; i++) {
tmp[arr[i]] = i;
}
for (int i = 0; i < size; i++) {
arr[i] = tmp[i];
}
}
int main(void)
{
int arr[] = { 3, 1, 0, 4, 5, 2 };
// arr[arr[0]] = 3 -> arr[3] = 0
// arr[arr[1]] = 1 -> arr[1] = 1
// arr[arr[2]] = 0 -> arr[0] = 2
// arr[arr[3]] = 4 -> arr[4] = 3
// arr[arr[4]] = 5 -> arr[5] = 4
// arr[arr[5]] = 2 -> arr[2] = 5
int size = sizeof(arr) / sizeof(arr[0]);
rearrange_array(arr, size);
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
}
/*
run:
2 1 5 0 3 4
*/