У меня есть массив строк, заполненный словами из предложения.Мне нужно иметь ключ с несколькими значениями. Какую структуру данных вы бы порекомендовали?
слова [0] = "на"
слова [1] = "собака"
слова [2] = "прыгнули"
слова [3] = "над"
слова [4] = " «
слов [5] =« стена ».
слова [6] = "на"
слова [7] = "кошки"
слова [8] = "упал"
слова [9] = "выключено"
слов [10] = "The"
слов [10] = "дом."
и т.д. (Глупый пример, но он работает для этого)
Каждого слово будет ключевым с этим следующим словом, как это значение. поэтому "over" => "the". Некоторые клавиши могут иметь несколько значений. Например, «the» => «собака» || "стена" || "кошка" || "дом". Значение выбирается случайным образом из значений для этого ключа.
Когда программа запускается, она выбирает слово наугад и делает предложение. Так может быть что-то вроде: «кот упал с собаки».
Я попытался реализовать карту (map myMap;), но это позволяет использовать только одно значение для ключа (я думаю).
Надеюсь, я объяснил это право.
Благодарим за быстрый ответ. При использовании карты я могу получить доступ к значениям с помощью map [key]. Как получить значения с помощью мультимапа? –
@Haawk: у multimap есть метод с именем equal_range(), который вернет пару итераторов, указывающих диапазон элементов, равный заданному ключу. –