Этого можно добиться с помощью любого алгоритма сортировки, если преобразовать каждый элемент в кортеж (value, position)
и отсортировать его.
То есть [10, 20, 30]
станет [(10, 0), (20, 1), (30, 2)]
. Затем вы отсортируете этот массив, используя компаратор, который просматривает первый элемент кортежей, и вы получите [(30, 2), (20, 1), (10, 0)]
. Отсюда вы можете просто взять второй элемент каждого кортежа, чтобы получить то, что вы хотите, [2, 1, 0]
. (В предположении, что вы хотите обратную сортировку.)