vector<int> intv{5, 4, 1, 3, 2};
vector<char> charv{'R', 'Q', 'T', 'A', 'X'};
map<int, char> res;
for (size_t idx {0} ; idx < intv.size() ; idx++)
res[intv[idx]] = charv[idx];
for (auto kv : res)
cout << kv.first << " " << kv.second << endl;
std::vector<std::pair<int, char>>
, а в std::sort
передавать собственный компаратор, который будет сравнивать только первые элементы:vector<pair<int, char>> vec;
sort(vec.begin(), vec.end(), [](pair<int, char> a, pair<int, char> b){return a.first < b.first;});