溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++11無序關聯(lián)容器有哪幾種

發(fā)布時間:2021-11-29 13:43:28 來源:億速云 閱讀:137 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“C++11無序關聯(lián)容器有哪幾種”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++11無序關聯(lián)容器有哪幾種”吧!

在C++11之前的關聯(lián)容器一共有四種。

首先是兩種最基本的類型:map和set。map中保存的是關鍵字-值的組合,而set中只保存關鍵字。

map和set中的關鍵字不允許重復,一旦相同的關鍵字重新寫入,則原來的內容被覆蓋。如果希望關鍵字可以重復,可以使用multimap和multiset。

用圖表表示就是下面這樣。

C++11無序關聯(lián)容器有哪幾種

由于這些關聯(lián)容器的存儲位置是根據(jù)比較運算符決定的,所以也成為有序關聯(lián)容器。

無序關聯(lián)容器

C++11另外引入了4種無序關聯(lián)容器(unordered associative container)。這些容器將存儲組織為一組桶,根據(jù)哈希值將數(shù)據(jù)映射到桶。與有序關聯(lián)容器類似,無序關聯(lián)容器也可以用同樣的標準分類:

C++11無序關聯(lián)容器有哪幾種

除了哈希管理操作以外,無序容器還提供了與有序容器相同的操作。也就是說有序容器和無序容器可以互換。

無序容器的優(yōu)勢

用一句話概括,就是通常情況下,無序容器通常會有更好的性能。下面用一段程序來確認這個結論。

C++11無序關聯(lián)容器有哪幾種

從實際的結果來看,使用無序關聯(lián)容器時的操作時間不到使用有序關聯(lián)容器時的一半。

感謝各位的閱讀,以上就是“C++11無序關聯(lián)容器有哪幾種”的內容了,經(jīng)過本文的學習后,相信大家對C++11無序關聯(lián)容器有哪幾種這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

c++
AI