stl中:
MAP的節(jié)點是一對數(shù)據(jù).
SET的節(jié)點是一個數(shù)據(jù).
Map使用關(guān)鍵值Key來唯一標(biāo)識每一個成員 map可以重復(fù)。
set是集合
都屬于關(guān)聯(lián)容器
只不過, map的形式 map<type1, type2> mymap;
set的形式 set<type> myset;
set(集合)——包含了經(jīng)過排序了的數(shù)據(jù),這些數(shù)據(jù)的值(value)必須是唯一的。
map(映射)——經(jīng)過排序了的二元組的集
合,map中的每個元素都是由兩個值組成,其中的key(鍵值,一個map中的鍵值必須是唯一的)是在排序或搜索時使用,它的值可以在容器中重新獲取;而
另一個值是該元素關(guān)聯(lián)的數(shù)值。比如,除了可以ar[43] = "overripe"這樣找到一個數(shù)據(jù),map還可以通過ar["banana"] =
"overripe"這樣的方法找到一個數(shù)據(jù)。如果你想獲得其中的元素信息,通過輸入元素的全名就可以輕松實現(xiàn)。
map是映射集合中的元素不能重復(fù),set可以進(jìn)行集合的各種操作(交并補等),當(dāng)然你也可以用list或vector實現(xiàn)set,但是效率會很低。set一般是用平衡樹或哈西表實現(xiàn)的。
映射是一種一一對應(yīng)的關(guān)系,哈西表也可以看作是映射的一種。映射通常可用來實現(xiàn)字典結(jié)構(gòu)(dictionary)