Как сортировать два массива по одному из них в C++?
Сделать вектор пар 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;});
Сделай свой объект компаратор, в котором сохрани указатель на второй массив. В операторе сравнения не только сравнивай значения аргументов, но и меняй местами значения во втором массиве.