回答
一些用例:
多重映射
- 隨着郵政編碼爲關鍵,所有的人都該有郵政編碼
- 使用帳戶ID爲關鍵,這個人的所有未結訂單/ account
- 一本字典,每個關鍵詞有各種解釋
multiset
本質上是一個帶有鍵和整數計數的映射。
- 商店的庫存,所有產品都有自己的重點和金額 仍然可以是
- 積累了店鋪的銷售數據,每次價值產品銷售 產品ID獲取的加入從而增加銷售數量
http://www.cplusplus.com/reference/stl/multimap/
地圖是一種締合的 容器,其存儲由一個密鑰值和 映射值的組合形成 元件,很像地圖 容器,但允許不同的 元件具有相同的關鍵值。
這是一種註冊表,元素可以共享密鑰。你可以想到公司和員工。街道地址是關鍵,員工是價值觀。
這裏是Wikipedia說,關於用途:
- 在學生入學制度,學生可以同時 多個類進行註冊,有 可能是在每個 入學學生的協會一個課程, 其中關鍵是學生ID和 的值是課程ID。如果一個 學生註冊三門課程, 將有三個協會 包含相同的密鑰。
- 一本書的索引可以對於給定的索引 術語報告任何數量的引用的,並且因此可以被編碼爲從索引詞一個 多重映射到任何 的參考位置
一個實例數如果你的情況大多數情況下這些密鑰是唯一的,但有時它們不是這種情況,那麼multimap會很有用。
例如,如果您正在創建一個使用散列作爲關鍵字的緩存類。大多數情況下,兩個不同的對象不會有相同的散列,因此這些鍵將是唯一的。但有可能你會得到不同對象的散列衝突,所以你需要一個multimap來覆蓋這種情況。
另一個例子是任何類型的非唯一索引(如在數據庫中)。
至於multiset - 我認爲這些將不太有用。我唯一能想到的就是將它用作一種自動排序的列表。
multiset或multimap僅適用於可能存在多個特定項目的情況。例如,假設您想爲圖書創建索引。你會掃描文本,扔掉所有真正常見的毫無意義的單詞(「a」,「an」,「the」等),然後列出所有其餘的單子,發生。
相當多的單詞會出現在多個頁面上,在這種情況下,您將有多個條目從一個單詞映射到不同的頁面。處理這種情況的一種方法是從單詞到頁碼的多圖。
使用multimap,無論您想使用何種樹結構類型。
[這個答案被自動標記爲「一個老問題的遲到答案,由新用戶提供,這個評論是在這種情況下。或者有任何研究價值,因此請考慮擴大答案或完全刪除答案,謝謝! – danfuzz 2012-11-05 23:11:31
在矢量/列表(或任何其他容器)上使用multiset最重要的好處是查找操作的時間複雜度。 multiset的平均案例時間複雜度爲O(logn),而unordered_multiset爲O(1)。 multimap和ordered_multimap同樣如此。
- 1. __ptr32和__ptr64有什麼意義?
- 2. @property和@synthesize有什麼意義?
- 3. App ID和Provisioning Profiles有什麼意義?
- 4. do |和&在Java中有什麼意義?
- 5. 爲什麼gettimeofday()和time_t沒有意義?
- 6. Iterator.forEachRemaining()和Iterable.forEach()有什麼意義?
- 7. 這對Text.hashCode()和Interger.MAX_VALUE有什麼意義?
- 8. 豆有什麼意義?
- 9. tornado.locale.Locale.translate有什麼意義?
- 10. 接口有什麼意義?
- 11. aclocal有什麼意義?
- 12. browserstack.com API有什麼意義?
- 13. FILL_AND_STROKE有什麼意義?
- 14. Draggable div - 有什麼意義?
- 15. NSRange.toRange()有什麼意義?
- 16. DOCTYPE有什麼意義?
- 17. setArguments有什麼意義?
- 18. UrbanAirship有什麼意義?
- 19. 所以:有什麼意義?
- 20. git fetch有什麼意義?
- 21. System.IO.dll有什麼意義?
- 22. IEnumerator有什麼意義?
- 23. XPS有什麼意義?
- 24. ASyncToken有什麼意義?
- 25. RecursiveIterator有什麼意義?
- 26. Semaphore.drainPermits()有什麼意義?
- 27. AppWidgetManager.INVALID_APPWIDGET_ID有什麼意義?
- 28. g ++ -Wreorder有什麼意義?
- 29. 「plt.figure」有什麼意義?
- 30. Tomcat JULI有什麼意義?
你可以給任何multiset的例子 – 2010-10-14 15:39:08