#include <algorithm>
#include <numeric>
template <typename T>
std::vector<size_t> sort_indexes(const std::vector<T> &v) {
// 初始化索引向量
std::vector<size_t> idx(v.size());
//使用iota对向量赋0~?的连续值
std::iota(idx.begin(), idx.end(), 0);
// 通过比较v的值对索引idx进行排序
std::sort(idx.begin(), idx.end(), [&v](size_t i1, size_t i2) { return v[i1] < v[i2]; });
return idx;
}
C++ std::vector 保留索引排序
最新推荐文章于 2024-07-20 11:45:58 发布