C STL通用容器 之 對映

2021-06-22 22:06:59 字數 2766 閱讀 7441

常用的對映類是 map, multimap

各個容器中,僅儲存著一樣東西,但是在對映中將會得到兩樣東西:關鍵字以及作為對關鍵字進行查詢得到的結果值,即一對值。map單對映中key與value是一對一的關係,multimap多對映中key與value可以是一對多的關係。

(1)建構函式

map(constpred&comp = pred(),consta& al = a());建立空對映·map(constmap& x);  拷貝建構函式

map(constvalue_type*first, constvalue_type*last,constpred&comp = pred(),consta& al = a());貝

[first,last

)之間元素構成

新對映。

multimap(constpred&comp = pred(),consta& al = a());建立空對映

multimap(constmultimap&x);  拷貝建構函式

multimap(constvalue_type*first, constvalue_type*last,    constpred&comp = pred(),consta& al = a());拷

貝[first,last)之間元素構成新對映

(2)大小、判斷空函式

intsize() const  ;返回容器元素個數

boolempty() const  ;判斷容器是否空,若返回true,表明容器已空

(3)增加、刪除函式

iterator insert(constvalue_type&x);  插入元素x

iterator insert(iteratorit, constvalue_type&x);在迭代指標it處插入元素x

void insert(constvalue_type*first, constvalue_type*last);插入[first,last)間元素

iterator erase(iteratorit);  刪除迭代指標it處元素

iterator erase(iteratorfirst, iterator last); 刪除[first,last)迭代指標間元素  

size_typeerase(constkey& key); 刪除鍵值等於key的元素

(4)遍歷函式

iterator

begin(); 

返回首元素的迭帶器指標

iterator

end(); 

返回尾元素後的迭帶器指標,而不是尾元素的迭帶器指標

reverse_iterator

rbegin

(); 

返回尾元素的逆向迭帶器指標,用於逆向遍歷容器

reverse_iterator

rend(); 

返回首元素前的逆向迭帶器指標,用於逆向遍歷容器

(5)操作函式

const_iterator

lower_bound

(const

key& key);

返回鍵值等於

key迭代指標,否則返回

end()

const_iterator

upper_bound

(const

key& key);

intcount(

const

key& key)

const

;返回容器中鍵值等於

key的元素個數

pair

<

const_iterator

,const_iterator

>

equal_range

(const

key& key)

const

;返回容器中鍵值等於

key的迭代指標

[first,last)

const_iterator

find(

const

key& key)

const

;查詢功能,返回鍵值等於

key迭代器指標

void

swap(map&s);

交換單對映元素

void

swap(

multimap

&s); 

交換多對映元素

(6)特殊函式

reference

operator(

const

key& k);

僅用在單對映

map類中,可以以陣列的形式給對映新增鍵

---值對,並可返回值的引用。

兩種常用形成對映方法

#include#include #include using namespace std;

void display(map&m)

單對映

map中

operator

用法。

#include #include #include using namespace std;

int main()

bool operator<(const cemployee &e)const

return mark;

}string getname()

string getdepart()

};class cmange

void show()

}};int main()

c STL通用容器 之 bitset容器

bitset 可以看作是二進位制位的容器,並提供了位的相關操作函式。常用函式 1 構造 賦值函式 bitset bitset const bitset 拷貝建構函式 bitset unsignedlong val 由無符號長整形數構建位容器 bitset const string str,size ...

C STL常用容器總結之八 對映map

map是鍵 值對的集合,map中的所有元素都是pair,可以使用鍵作為下標來獲取乙個值。map中所有元素都會根據元素的值自動被排序,同時擁有實值value和鍵值key,pair的第一元素被視為鍵值,第二元素被視為實值,同時map不允許兩個元素有相同的鍵值。要使用map物件,必須包含map的標頭檔案 ...

C STL容器學習總結之八 對映map

c stl容器學習總結之一 向量vector c stl容器學習總結之二 鍊錶list c stl容器學習總結之三 雙端佇列deque c stl容器學習總結之四 佇列queue c stl容器學習總結之五 優先佇列priority queue c stl容器學習總結之六 棧stack c stl容...