日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

c++ map是有序还是无序的_c++中map与unordered_map的区别

發布時間:2025/3/20 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++ map是有序还是无序的_c++中map与unordered_map的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

map:

優點:

有序性,這是map結構最大的優點,其元素的有序性在很多應用中都會簡化很多的操作

紅黑樹,內部實現一個紅黑書使得map的很多操作在lgn的時間復雜度下就可以實現,因此效率非常的高

缺點: 空間占用率高,因為map內部實現了紅黑樹,雖然提高了運行效率,但是因為每一個節點都需要額外保存父節點、孩子節點和紅/黑性質,使得每一個節點都占用大量的空間

適用處:對于那些有順序要求的問題,用map會更高效一些

unordered_map:

優點: 因為內部實現了哈希表,因此其查找速度非常的快

缺點: 哈希表的建立比較耗費時間

適用處:對于查找問題,unordered_map會更加高效一些,因此遇到查找問題,常會考慮一下用unordered_map

總結:

1. 內存占有率的問題就轉化成紅黑樹 VS hash表 , 還是unorder_map占用的內存要高。

2. 但是unordered_map執行效率要比map高很多

3. 對于unordered_map或unordered_set容器,其遍歷順序與創建該容器時輸入的順序不一定相同,因為遍歷是按照哈希表從前往后依次遍歷的

總結

以上是生活随笔為你收集整理的c++ map是有序还是无序的_c++中map与unordered_map的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。