map的详解及常见面试题
生活随笔
收集整理的這篇文章主要介紹了
map的详解及常见面试题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
map的概念
??map是STL中的一個關聯式容器,它提供一對一的K-V的數據處理能力,由于這個特性,在我們需要完成Key-Value數據處理的時候可以很方便的調用。map的底層結構是紅黑樹,這棵樹對數據有自動排序的功能,所以map中的數據都是有序的,并且查找的時間復雜度基本是LogN。他的特點是增加和刪除節點對迭代器的影響很小,只對操作的節點有影響,但是對于迭代器來說,可以修改節點對應的V值,不能修改K值。
map中數據的插入
??在map中提供了三種插入方法:調用insert插入pair數據、調用insert插入value_type數據、使用數組方式插入數據
??從上面可以看出來,雖然他們都實現了插入,但他們之間還是有區別的,要根據不同的需要區別使用第一種和第二種在效果上完成的是一樣的,使用insert進行插入,在數據的插入上設計到集合的唯一性這個概念,也就是當map中已經有了這個關鍵字的時候,insert是無法插入的,但是使用數組就不一樣了,它可以覆蓋之前該關鍵字的對應的value。
總結
以上是生活随笔為你收集整理的map的详解及常见面试题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RecyclerView拖拽排序和滑动删
- 下一篇: postgres与osm初步使用