您好,登錄后才能下訂單哦!
這篇文章主要講解了“C++11無序關聯容器有哪幾種”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++11無序關聯容器有哪幾種”吧!
在C++11之前的關聯容器一共有四種。
首先是兩種最基本的類型:map和set。map中保存的是關鍵字-值的組合,而set中只保存關鍵字。
map和set中的關鍵字不允許重復,一旦相同的關鍵字重新寫入,則原來的內容被覆蓋。如果希望關鍵字可以重復,可以使用multimap和multiset。
用圖表表示就是下面這樣。
由于這些關聯容器的存儲位置是根據比較運算符決定的,所以也成為有序關聯容器。
無序關聯容器
C++11另外引入了4種無序關聯容器(unordered associative container)。這些容器將存儲組織為一組桶,根據哈希值將數據映射到桶。與有序關聯容器類似,無序關聯容器也可以用同樣的標準分類:
除了哈希管理操作以外,無序容器還提供了與有序容器相同的操作。也就是說有序容器和無序容器可以互換。
無序容器的優勢
用一句話概括,就是通常情況下,無序容器通常會有更好的性能。下面用一段程序來確認這個結論。
從實際的結果來看,使用無序關聯容器時的操作時間不到使用有序關聯容器時的一半。
感謝各位的閱讀,以上就是“C++11無序關聯容器有哪幾種”的內容了,經過本文的學習后,相信大家對C++11無序關聯容器有哪幾種這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。