Переупорядочение массива на основе отсортированных индексов в другом массивеC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Переупорядочение массива на основе отсортированных индексов в другом массиве

Сообщение Anonymous »

Я выполняю задание алгоритма двоичной поразрядной сортировки, и у меня возникли проблемы с последним шагом. Из инструкций, которые мне дали, я знаю, что мне нужно делать, но не знаю, как реализовать это на C++. Чтобы лучше понять, о чем я спрашиваю, приведу пример. Допустим, у нас есть массив целых чисел:

Код: Выделить всё

int array[5] = {5, 24, 8, 9, 10}
Со значением 5 в индексе 0, 24 в индексе 2 и т. д.
Теперь предположим, что я поместил эти индексы в массив и переупорядочил их (в моем случае отсортировал их)

Код: Выделить всё

int indices[5] = {3, 4, 0, 1, 2}
Что мне нужно сделать, так это на основе этих переупорядоченных индексов изменить порядок исходного массива. Так, например, поскольку индекс 3 теперь находится в индексе 0 в своем массиве, мне нужно переместить индекс 9, который в моем примере находится в индексе 3, также в индекс 1 в его массиве. Окончательный массив будет выглядеть примерно так:

Код: Выделить всё

array[5] = {9, 10, 5, 24, 8}
Я не знаю, как это называется, поэтому мне сложно найти его в Интернете. Кто-нибудь знает ответ на эту проблему? Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/609 ... ther-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»