cb22a c 標準模板庫 STL map

2021-10-02 22:41:17 字數 2087 閱讀 7337

cb22a_c++_標準模板庫_stl_map_multimap紅黑樹(資料結構)關聯容器

map(對映,key不能重複,一對一對的,value_type(1, "one")),multimap(多對映key可以重複)

紅黑樹(資料結構)map,multimap就是紅黑樹-二叉樹

基本操作

insert:4 種方法

count和find

erase:3種方法

注意:不能通過find進行修改。

a.insert(map::value_type(1, "one")); 數值1就是key鍵,"one"就是值。就是一對

map 與 multimap是儲存key-value(鍵-值 對)型別的容器。

不同之處在於:map只允許key與 value一一對應;multimap乙個key可對應多個value;

[email protected]

/*cb22a_c++_標準模板庫_stl_map_multimap紅黑樹(資料結構)關聯容器

map(對映,key不能重複,一對一對的,value_type(1, "one")),multimap(多對映key可以重複)

紅黑樹(資料結構)map,multimap就是紅黑樹-二叉樹

基本操作

insert:4 種方法

count和find

erase:3種方法

注意:不能通過find進行修改。

a.insert(map::value_type(1, "one")); 數值1就是key鍵,"one"就是值。就是一對

map 與 multimap是儲存key-value(鍵-值 對)型別的容器。

不同之處在於:map只允許key與 value一一對應;multimap乙個key可對應多個value;

*/#include #include #include using namespace std;

int main()

ma.insert(multimap::value_type(3, "three"));

ma.insert(multimap::value_type(45, "forty five"));

ma.insert(make_pair(-1, "minus one1"));

ma.insert(pair(1000, "one thousand"));

ma.insert(pair(1000, "one thousand"));

cout << endl << "multimap" << ma.size() << " 個資料。" << endl;

cout << "multimap資料顯示:" << endl;

multimap::const_iterator im;

for (im = ma.begin(); im != ma.end(); ++im)

cout << "multimap有" << ma.count(1000) << " 個1000" << endl;

cout << "multimap查詢返回的是乙個常迭代器" << endl;

multimap::const_iterator fi;

fi=ma.find(45);

if (fi != ma.end())

else

fi = ma.find(1000); //多個1000都找出來顯示

if (fi != ma.end()) }

cout << "erase刪除方法的使用" << endl;

if (ma.erase(-1) > 0)

cout << "通過key刪除成功,結果大於0:" << endl;

cout << "通過查詢,再刪除" << endl;

multimap::iterator ielementfound = ma.find(45);

if (ielementfound != ma.end())

ma.erase(ma.lower_bound(1000), ma.upper_bound(1000));

cout << "從第乙個1000,到最後乙個1000的資料都刪除了" << endl;

return 0;

}

STL 標準模板庫)

此篇只是乙個目錄,將分成單篇去完成 stl 主要有三個部分組成 容器,迭代器,演算法。順序容器 向量 vector 雙端佇列 dequeue 表 list ps copy 方法 關聯容器 集合 set 多重集合 multiset 對映 map 多重對映 multimap 容器介面卡 棧 stack ...

Stl(標準模板庫)

stl 標準模板庫 stl的目的是標準化元件,這樣就不用重新開發,可以使用現成的元件。我們常用到的stl容器有vector list deque map multimap set和multiset。1.簡單概括 如果需要高效的隨機訪問,不在乎插入和刪除的效率,使用vector 類似陣列 2 如果需要...

STL標準模板庫

stl標準模板庫 一。概述 c 內建的標準模板庫stl可以分為以下6大類 1.容器 2.迭代器 3.空間分配器 4.介面卡 5.演算法 6.仿函式 1.容器 概念 用來管理一組元素 分類 序列式容器 sequence containers 每個元素都有固定位置 取決於插入時機和地點,和元素值無關。v...