1. 程式人生 > >STL中map實現原理

STL中map實現原理

 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函式