stlmap的格式這這樣的。mapa;
其中key是鍵的意思,value是值。俗稱鍵值對。
stl中map有兩種方式,第一種就是map,這種方式的鍵不可以是相同的。第二種方法是multimap,這種map是允許鍵相同的。
上**檢視實際效果:
#include #include #include using namespace std;
int main()
ma.insert(multimap::value_type(3,"three"));
ma.insert(multimap::value_type(45,"forth five"));
ma.insert(make_pair(-1,"minus one"));
ma.insert(pair(1000,"one throusand"));
ma.insert(pair(1000,"one throusand"));
cout << endl << "multimap裡面有" << ma.size() << "個資料" << endl;
multimap::const_iterator im;
for (im = ma.begin(); im != ma.end(); ++im)
//使用count可以檢視裡面有幾個1000
cout << "multimap裡面" << ma.count(1000) << "個1000" << endl;
/////查詢
//最簡單的查詢,通過鍵查詢value
cout << "最簡單的查詢" << endl;
cout << a[3] << endl << endl;
cout << 分數["劉備"] << endl << endl;
multimap::const_iterator fi;
fi = ma.find(45);
if (fi != ma.end())
else
fi = ma.find(1000);
if (fi != ma.end())
}else
刪除 //第一種方法
if (ma.erase(-1) > 0)//如果刪除成功返回值大於0
//使用非常量迭代器
//第二種方法
multimap::iterator ir = ma.find(45);
if (ir != ma.end())
//第三種方法
// 最前的1000 最後的1000//這兩者之間的1000都刪除了
ma.erase(ma.lower_bound(1000),ma.upper_bound(1000));
return 0;
}
關於STL的map用法總結
map 容器是關聯式容器的一種,儲存的都是pair 類模板建立的鍵值對 鍵值對,其中第乙個元素作為鍵 key 第二個元素作為值 value 在使用 map 容器儲存多個鍵值對時,該容器會自動根據各鍵值對的鍵的大小,按照既定的規則進行排序。預設情況下,map 容器選用std less排序規則 其中 t...
STL容器學習 關聯容器與map的用法
stl提供了4個關聯容器 set multiset map和multimap。這些容器提供了通過keyword高速儲存和訪問資料元素的能力。set和map不同意有反覆keyword,而multiset和multimap同意反覆keyword。關聯容器的幾個共同函式例如以下 find key 搜尋容器...
STL 關聯式容器 Set與Map的用法
c 的標準模板庫 簡稱stl 是乙個容器和演算法的類庫。容器往往包含同一型別的資料。set是一種關聯式容器,其特性如下 定義乙個元素為整數的集合a,可以用 seta 基本操作 對集合a中元素的有 插入元素 a.insert 1 刪除元素 如果存在 a.erase 1 判斷元素是否屬於集合 if a....