Tôi có một mảng chuỗi chứa đầy các từ trong một câu.Tôi cần có khóa có nhiều giá trị. Bạn muốn giới thiệu cơ sở hạ tầng nào?
từ [0] = "the"
từ [1] = "chó"
từ [2] = "nhảy"
từ [3] = "qua"
từ [4] = " "
từ [5] =" tường ".
từ [6] = "the"
từ [7] = "mèo"
lời [8] = "rơi"
lời [9] = "off"
lời [10] = "the"
từ [10] = "nhà".
vv (Ví dụ ngu ngốc, nhưng nó hoạt động cho việc này)
Mỗi từ sẽ là một khóa với từ sau đây là giá trị của từ đó. vì vậy "over" => "the". Một số khóa có thể có nhiều giá trị. Ví dụ: "the" => "dog" || "wall" || "mèo" || "nhà ở". Giá trị được chọn ngẫu nhiên từ những giá trị cho khóa đó.
Khi chương trình chạy nó chọn một từ ngẫu nhiên và tạo một câu. Vì vậy, nó có thể là một cái gì đó như: "con mèo rơi ra khỏi con chó".
Tôi đã thử triển khai bản đồ (bản đồ myMap;) nhưng điều này chỉ cho phép một giá trị cho mỗi khóa (tôi nghĩ).
Hy vọng tôi đã giải thích quyền này.
Cảm ơn bạn đã trả lời nhanh. Khi sử dụng bản đồ, tôi có thể truy cập các giá trị bằng cách sử dụng bản đồ [key]. Làm thế nào tôi có thể nhận được các giá trị bằng cách sử dụng một multimap? –
@Haawk: multimap có một phương thức được gọi là equal_range() sẽ trả về một cặp trình lặp cho biết phạm vi của các phần tử bằng một khóa đã cho. –