C ++ эквивалент numpy.unique на std :: vector с return_index и return_inverseC++

Программы на C++. Форум разработчиков
Anonymous
C ++ эквивалент numpy.unique на std :: vector с return_index и return_inverse

Сообщение Anonymous »

имеет реализацию уникального алгоритма , который возвращает:
  • сортированные уникальные элементы numpy Array ( т.е. без дубликатов)
Кроме того, numpy.unique () также может вернуть:
  • Индексы входного массива, которые дают уникальные значения < /li>
    Индексы уникального массива, которые реконструируют вход Array
Стандартная библиотека C ++ также реализует уникальный алгоритм (здесь), который каким -то образом устраняет последовательные дубликаты. В сочетании с std :: ecector :: rese и std :: sort () , это может вернуть сортированные уникальные элементы вектора (вывод 1 Numpy. уникальный () ).
Мой вопрос: есть ли какой -либо алгоритм в STL или в другом месте, которые также могут вернуть выходы 2 и 3 numpy.unique ( ) . Если нет, есть ли способ эффективно его реализовать?

Подробнее здесь: https://stackoverflow.com/questions/708 ... turn-inver

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