Ho una matrice di stringhe piena di parole da una frase.Ho bisogno di avere una chiave con più valori. Quale infrastruttura ti raccomanderebbe?
parole [0] = "i"
parole [1] = "cane"
parole [2] = "saltato"
parole [3] = "over"
parole [4] = " "
words [5] =" wall ".
parole [6] = "i"
parole [7] = "cat"
parole [8] = "caduto"
parole [9] = "off"
parole [10] = "il"
parole [10] = "casa".
ecc (ad esempio stupido, ma funziona per questo)
Ogni parola sarà una chiave con la sua parola seguente come valore. quindi "sopra" => "il". Alcuni tasti possono avere più valori. Ad esempio, "il" => "cane" || "muro" || "gatto" || "Casa". Il valore è scelto casualmente da quelli per quella chiave.
Quando il programma viene eseguito, seleziona una parola a caso e pronuncia una frase. Quindi potrebbe essere qualcosa come: "il gatto è caduto dal cane".
Ho provato a implementare una mappa (mappa myMap;) ma ciò consente solo un valore per chiave (credo).
Spero di aver spiegato bene.
Grazie per la risposta rapida. Quando si utilizza una mappa, posso accedere ai valori utilizzando la mappa [chiave]. Come posso ottenere i valori usando un multimap? –
@Haawk: multimap ha un metodo chiamato equal_range() che restituisce una coppia di iteratori che indicano l'intervallo di elementi uguale a una determinata chiave. –