STL中map實現原理
阿新 • • 發佈:2019-01-31
Map是關聯容器,以鍵值對的形式進行儲存,
方便進行查詢,關鍵詞起到索引的作用,值則表示與索引相關聯的資料,以紅黑樹的結構實現,插入刪除等操作都可以在O(log n)時間內完成map常用的基本操作:
1.map<int ,string> a; map<string,int>;支援多種型別
2.新增資料:map1.insert(pair<int,string>(102,"wobeitianjia"));
map1.insert(map<int,string>::value_type(102,"tianjia"));
map1[102]="string";
3.元素查詢:map1.find(key) 返回一個迭代器指向鍵值為key的元素,如果沒有找到,返回指向map尾部的迭代器
4.元素刪除:先查詢元素,map<int ,string>::iterator it=map1.find(key); 找到之後map1.erase(it);
5.map中的swap函式,交換的是兩個容器而不是一個容器中的元素交換
6.sort函式,因為map中key按照升序進行排列的,所以不能使用sort函式