Обновление : у меня есть пара глупых вопросов об ответе комментатора 6502 (ниже). Если бы кто-нибудь мог помочь, я был бы очень признателен.
1) Я понимаю, что данные 1 и данные 2 являются картами, но я не понимаю, для чего allkeys . Кто-нибудь может объяснить?
2) Я знаю, что: data1 [vector1 [i] .name] = vector1 [i] .value; означает присвоить значение карте интереса, где правильная метка ... Но я не понимаю этого: vector1 [i] .name и vector1 [i] .value, Разве «имя» и «значение» не являются двумя отдельными векторами меток и значений? Так что же они делают на vector1? Разве это не должно читаться, name [i] и value [i] вместо этого?
Спасибо всем.
Я написал код для выполнения расчета. Код использует данные из других источников. Код расчета в порядке, но мне не удается манипулировать данными.
Данные существуют в виде наборов векторов. Каждый набор имеет один вектор меток (имена, это строки) и соответствующий набор значений (двойные или целые).
Проблема в том, что каждый набор данных должен иметь такое же имя / метку в том же столбце, что и другие наборы данных. Эта проблема не то же самое, что сортировка данных в векторах (что я знаю, как делать), потому что иногда имена / метки могут отсутствовать в некоторых векторах.
Например:
Набор данных 1:
vector names1 = Джим, Том, Мэри
векторные значения1 = 1 2 3
Набор данных 2:
vector names2 = Том, Мэри, Джоан
векторные значения2 = 2 3 4
Я хочу (псевдокод) ОДИН вектор имен, который имеет все возможные имена. Я также хочу, чтобы каждый соответствующий вектор чисел сортировался одинаково:
vector namesUniversal = Джим, Джоан, Мэри, Том
векторные значенияUniversal1 = 1 0 3 2
векторные значенияUniversal2 = 0 4 3 2
Я хочу создать универсальный вектор, содержащий ВСЕ метки / имена, отсортированные в алфавитном порядке, и все соответствующие числовые данные, также отсортированные.
Может кто-нибудь сказать мне, есть ли элегантный способ сделать это в C ++? Я думаю, я мог бы сравнить каждый элемент каждого вектора имен с каждым элементом каждого вектора имен, но это кажется довольно неуклюжим, и я бы не знал, как получить данные в правильные столбцы в соответствующих векторах данных. Спасибо за любой совет.