Я использую функцию sort_index () в c ++ armadillo, и, похоже, она не дает правильного результата:
входной вектор [3,4,2,1,5] сортирует оба направления
arma::sort_index(input, "ascend").print();
arma::sort_index(input, "descend").print();
и получите следующие результаты: [3,2,0,1,4] и [4,1,0,2,3]
, что ни является правильным. Сортировка в порядке возрастания должна дать [2,3,1,0,4] (дважды проверяется с помощью numpy.searchsorted
, и это дает вышеуказанный результат).
--- Edit ---
Спасибо за ответы! Теперь я понимаю, что неправильно понял способ индексации sort_index
. Я все еще пытаюсь найти эффективную, эквивалентную функцию, которая достигает np.searchsorted
в c ++ ...