STL容器 關於map的用法的記錄 持續更新

2021-09-17 02:58:42 字數 1391 閱讀 1510

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....