簡體   English   中英

C ++中的set和map有什么區別

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM