map的詳解及常見面試題

2021-09-26 05:59:45 字數 552 閱讀 3353

map的概念

map是stl中的乙個關聯式容器,它提供一對一的k-v的資料處理能力,由於這個特性,在我們需要完成key-value資料處理的時候可以很方便的呼叫。map的底層結構是紅黑樹,這棵樹對資料有自動排序的功能,所以map中的資料都是有序的,並且查詢的時間複雜度基本是logn。他的特點是增加和刪除節點對迭代器的影響很小,只對操作的節點有影響,但是對於迭代器來說,可以修改節點對應的v值,不能修改k值。

map中資料的插入

在map中提供了三種插入方法:呼叫insert插入pair資料、呼叫insert插入value_type資料、使用陣列方式插入資料

從上面可以看出來,雖然他們都實現了插入,但他們之間還是有區別的,要根據不同的需要區別使用第一種和第二種在效果上完成的是一樣的,使用insert進行插入,在資料的插入上設計到集合的唯一性這個概念,也就是當map中已經有了這個關鍵字的時候,insert是無法插入的,但是使用陣列就不一樣了,它可以覆蓋之前該關鍵字的對應的value。

常見面試題之MAP(一)

難度中等2137 給你乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 請你找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。示例 給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2...

常見面試題

1.get和post的區別 1 本質區別 get是向伺服器請求資料,post是向伺服器傳送資料。2 伺服器獲取值的方式 get方式提交的資料,伺服器端使用request.querystring獲取變數的值。post方式提交的資料,伺服器端使用request.form獲取資料。3 安全性 get安全效...

常見面試題

1 一行 實現1 100之和 lst i for i in range 1,101 print sum lst 2 如何在乙個函式內部修改全域性變數?在函式內部新增 global 變數名 這樣就可以在本地作用域定義全域性作用域了 name 大明 def eat name1 global name n...