У меня вопрос относительно массив. Например, если я знаю, что размер массива будет 5, а моя программа чтения вКак эффективно изменять содержимое массива в соответствии с его содержанием?
[9993, 1000, 9992, 3, 872]
в массив, как я могу изменить содержимое массива эффективно таким образом, что он становится
[5, 3, 4, 1, 2]
Я могу реализовать только двойной цикл, который работает в O (n^2). Надеюсь найти для него лучший алгоритм.
Любые подсказки? Заранее спасибо!
Вы пытаетесь построить заказ? Вы можете сделать это в пространстве «O (n log n)» и «O (n)» путем создания вспомогательного массива, содержащего целые числа «1 ... n», сортировку вспомогательного массива с использованием компаратора, который ссылается на элементы исходный массив, а затем копирование вспомогательного массива в исходное. – Jeremy
Привет, Джереми, но я не совсем понимаю, как ссылка на исходные элементы может быть реализована с использованием компаратора. Не могли бы вы подробнее рассказать? – boxme
'if (origArray [auxArray [i] -1]
Jeremy