[英]What is the difference between set and map in C++
考慮創建電話簿,但感到困惑的是哪個STL容器是更好的選擇。 請說明set和map的區別。 在哪種情況下,哪個是更好的選擇。
例如,當名稱和數字存儲在地圖中時,如果將名稱作為關鍵字,則無法使用數字進行搜索,反之亦然。 那么哪個容器/數據結構將恰好滿足此目的?
內部很少。 他們都是紅黑的樹。
映射雖然包含一對作為其值類型。 然后,樹操作僅在該對中的第一個元素上進行。 然后,地圖會添加其他功能,以根據第一個元素進行搜索,而僅檢索第二個元素。
當您需要鍵->值對時,請使用map。 當您需要整體跟蹤唯一值時,請使用set。
將std::set
視為std::map
,其中鍵也是值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.