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;
/*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...