C++ 查找向量的<float>参数



遵循C++排序并跟踪索引:这就是如何获得vector<int> vargsort

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类型更改为doubles,但我认为我不应该这样做,因为它们都指向索引。所以我不知道如何改变函数来得到我想要的。

您只需要在函数的参数中将vector<int>更改为vector<float>

vector<int> VectorArgSort(vector<float> &v) {

请参阅此处的工作版本

最新更新