STL標準庫的關聯容器

2021-07-03 10:40:59 字數 928 閱讀 6319

關聯容器支援高效的關鍵字查詢和訪問。map中的元素是一些關鍵字-值(key-value)對:關鍵字起到索引的作用,值則是表示與索引相關聯的資料。set中每個元素只包含乙個關鍵字,可以說set是乙個特殊的map。

標準庫提供8個關聯容器,允許重複關鍵字的容器的名字中都包含單詞multi;不保持關鍵字按順序儲存的容器的名字都以unordered開頭。因此乙個unordered_multi_set是乙個允許重複關鍵字,元素無序儲存的集合。

型別map和multimap定義在標頭檔案map中;set和multiset定義在標頭檔案set中;無序容器則定義在標頭檔案unordered_map和unordered_set中。

先來乙個set使用的簡單例子:

// set_ex.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include #include using namespace std;

int _tmain(int argc, _tchar* argv)

cout<::iterator itor,upitor,downitor;

for(itor=myset.begin(); itor!=myset.end(); itor++)

cout<::iterator, set::iterator> ret=myset.equal_range(7);

cout<0) }

//利用迭代器列印multimap中的資料

cout<<"列印按字母順序排好的文字,按「作者 著作」排序:"<::iterator itor;

for(itor=mymap.begin();itor!=mymap.end(); itor++)

{ cout<<(*itor).first<<" "<<(*itor).second

C 標準庫關聯容器

1 關聯容器定義 儲存物件集合的型別,支援通過鍵的高效訪問。和順序容器的本質差別在於 順序容器通過元素在容器中的位置順序儲存和訪問元素,而關聯容器卻是依靠鍵。map和set是兩個基本的關聯容器型別,map以鍵值對的形式組織儲存元素,而set僅儲存鍵。2,pair型別 在utility標頭檔案中定義 ...

STL 關聯容器

1 關聯容器與順序容器的本質區別 關聯容器通過鍵 key 儲存和讀取元素,而順序容器則通過元素在容器中的位置順序儲存和訪問元素。2 關聯容器的型別 map set multimap multiset 3 pair型別 pair型別的比較 p1 p1 p2 如果兩個pair物件的first和secon...

stl 關聯容器

簡介 對於關聯容器,它的每個元素都有乙個鍵 key 容器中的元素的順序並不能人為隨意決定,而是按照鍵的取值公升序排列的。也就是說,對於乙個關聯容器s,使用迭代器在 s.begin s.end 區間內遍歷,訪問到的序列總是公升序的。分類 按照容器中是否允許出現重複鍵值,關聯容器可分為單重關聯容器和多重...