Как я могу отсортировать два вектора одинаково, используя критерии, которые используют только один из векторов?C++

Программы на C++. Форум разработчиков
Anonymous
Как я могу отсортировать два вектора одинаково, используя критерии, которые используют только один из векторов?

Сообщение Anonymous »

Как я могу отсортировать два вектора одинаковым образом, используя критерии, которые используют только один из векторов?
Например, предположим, что у меня есть два вектора одинакового размера: р>

Код: Выделить всё

vector vectorA;
vector vectorB;
Затем я сортирую векторA, используя некоторую функцию сравнения. Эта сортировка изменила порядок вектора VectorA. Как я могу применить такое же изменение порядка к векторуB?

Один из вариантов — создать структуру:

Код: Выделить всё

struct ExampleStruct {
MyObject mo;
int i;
};
а затем отсортируйте вектор, содержащий содержимое векторов VectorA и VectorB, сжатых в один вектор:

Код: Выделить всё

// vectorC[i] is vectorA[i] and vectorB[i] combined
vector vectorC;
Это не кажется идеальным решением. Есть ли другие способы сделать это?

Подробнее здесь: https://stackoverflow.com/questions/170 ... nly-one-of

Вернуться в «C++»