相关疑难解决方法(0)

如何以相同的方式对两个向量进行排序,使用仅使用其中一个向量的条件?

如何以相同的方式对两个向量进行排序,使用仅使用其中一个向量的条件?

例如,假设我有两个相同大小的向量:

vector<MyObject> vectorA;
vector<int> vectorB;
Run Code Online (Sandbox Code Playgroud)

然后我vectorA使用一些比较函数排序.排序重新排序vectorA.如何应用相同的重新排序vectorB


一种选择是创建一个结构:

struct ExampleStruct {
    MyObject mo;
    int i;
};
Run Code Online (Sandbox Code Playgroud)

然后对包含内容vectorA并将其vectorB压缩为单个向量的向量进行排序:

// vectorC[i] is vectorA[i] and vectorB[i] combined
vector<ExampleStruct> vectorC;
Run Code Online (Sandbox Code Playgroud)

这似乎不是一个理想的解决方案.还有其他选择,特别是在C++ 11中吗?

c++ c++11

74
推荐指数
3
解决办法
2万
查看次数

标签 统计

c++ ×1

c++11 ×1