Предположим, что ваши числа хранятся в массиве a
:
int a[10] = {7, 5, 3, 9, 1, 2, 4, 8, 6, 0};
и вы хотите сохранить отсортированные индексы в массиве b
, который изначально содержит все индексы в последовательном порядке:
int b[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
тогда вы можете просто отсортировать массив индексов b
на основе соответствующего значения в массиве a
:
sort(b, b+10, [a](int i, int j){ return a[i] > a[j]; });
Полная демонстрация здесь