c++实现两个vector中的元素互相映射索引
时间: 2024-03-13 12:44:27 浏览: 135
C++vector的实现
5星 · 资源好评率100%
可以用一个map来实现两个vector中的元素互相映射索引。具体实现如下:
```c++
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main() {
vector<int> v1 = {1, 2, 3};
vector<string> v2 = {"apple", "banana", "orange"};
map<int, string> mp;
for (int i = 0; i < v1.size(); i++) {
mp[v1[i]] = v2[i];
}
for (int i = 0; i < v1.size(); i++) {
cout << "v1[" << i << "] = " << v1[i] << ", v2[" << i << "] = " << mp[v1[i]] << endl;
}
return 0;
}
```
输出结果为:
```
v1[0] = 1, v2[0] = apple
v1[1] = 2, v2[1] = banana
v1[2] = 3, v2[2] = orange
```
在这个实现中,我们使用了一个map来存储v1和v2中的元素互相映射的关系。遍历v1中的元素,将它们作为key,对应的v2中的元素作为value,存储到map中。然后再次遍历v1,通过map找到对应的v2中的元素,输出即可。
阅读全文