c++ - c ++找到向量的argsort
问题描述
遵循C++ 排序和跟踪索引:这是如何argsort
获取vector<int> v
vector<int> VectorArgSort(vector<int> &v) {
/* Get the indices that gives a sorted vector v*/
vector<int> retIndices(v.size());
iota(retIndices.begin(), retIndices.end(), 0);
stable_sort(
retIndices.begin(), retIndices.end(),
[&v](int i1, int i2) {return v[i1] < v[i2];});
return retIndices;
}
但我想要的是vector<int> VectorArgSort(vector<float> &v)
仍然给出向量,因为它们是索引,而是执行它vector<float> &v
。
我尝试将几种定义的int
类型更改为双精度类型,但我认为我不应该这样做,因为它们都指向索引。所以我不知道如何改变函数来得到我想要的。
解决方案
推荐阅读
- javascript - 如何防止用户在 JavaScript 中向 ToDo 列表添加超过 4 个任务
- twitter - 使用一个帐户的 Twitter API 从另一个帐户发送推文?
- python-3.x - Python:不使用命令自动引发自定义异常 raise CustomException("Something Happened")
- python - 使用 OneHotEncoder() 的更好方法是什么?
- python - 运行烧瓶应用程序时出现“flask.cli.NoAppException”
- c++ - 如何验证用户输入的日期月份输入?
- python - 使用 matplotlib.animation.FuncAnimate 对具有周期性边界的多车道高速公路进行动画处理
- sql - 快速计算十分位数
- python - 使用 subprocess.check_output 运行 flake8
- express - 猫鼬代码仅在我发出 2 个 http 请求时才有效