STL泛型程式設計 multimap多重映照容器

2021-06-19 17:28:24 字數 1242 閱讀 7957

multimap與map基本相同,唯一不同的是multimap允許插入重複鍵值的元素。由於允許重複鍵值存在,multimap的元素插入,刪除,查詢都與map不同。

要使用multimap,需要標頭檔案"#include "

multimap物件建立、元素插入。(可以重複插入元素,插入元素需要使用insert()方法)#pragma warning(disable:4786)

#include #include #include using namespace std;

int main(int argc,char* argv)

{ //定義map物件,當前沒有任何元素

multimapm;

m.insert(pair("jack",300.5));

m.insert(pair("kity",200));

m.insert(pair("memi",500));

//重複插入鍵值"jack"

m.insert(pair("jack",306));

//前向遍歷元素

multimap::iterator it;

for(it=m.begin();it!=m.end();it++)

cout<<(*it).first<<" : "<<(*it).second<

元素的刪除(因為有重複的鍵值,所以刪除操作將會將要刪除的鍵值一次性從multimap中刪除)#pragma warning(disable:4786)

#include #include #include using namespace std;

int main(int argc,char* argv)

{ //定義map物件,當前沒有任何元素

multimapm;

m.insert(pair("jack",300.5));

m.insert(pair("kity",200));

m.insert(pair("memi",500));

//重複插入鍵值"jack"

m.insert(pair("jack",306));

//前向遍歷元素

multimap::iterator it;

for(it=m.begin();it!=m.end();it++)

cout<<(*it).first<<" : "<<(*it).second<

元素查詢(由於存在重複鍵值,find()方法只返回重複鍵值中的第乙個元素的迭代器位置,如果沒有找到,返回end()迭代器位置)

泛型程式設計 STL是什麼

泛型程式設計讓你編寫完全一般化並可重複使用的演算法,其效率與針對某特定資料型別而設計的演算法相同。泛型程式設計的代表作品stl是一種高效 泛型 可互動操作的軟體元件。所謂泛型 genericity 是指具有在多種資料型別上皆可操作的含意,與模板有些相似。stl巨大,而且可以擴充,它包含很多計算機基本...

STL原始碼解析 STL 與 泛型程式設計

物件導向程式設計與泛型程式設計template typename t class vector int ar 6 vector int,allocator int vec ar,ar 6 cout count if vec.begin vec.end notl bind2nd less int 6 ...

STL泛型程式設計 set集合容器

set集合容器實現了紅黑樹 red blacktree 的平衡二叉檢索樹的資料結構,在插入元素時,它會自動調整二叉樹,把該元素放到適當的位置,以確保每個子樹根節點的鍵值大於左子樹所有節點的鍵值,而小於右子樹所有節點的鍵值 另外,確保左右子樹的高度相等,這樣,二叉樹的高度最小,從而檢索速度最快。不會重...