最近開發中要用到stl,然後自己檢視了一些資料,並寫了一些**。在使用中,想起了如果是map巢狀,該如何應用呢?下面是我的coding內容:
對於傳統的map,我們只需要:
#include
#include
int main()
return 0;}
結果輸出:
100 maxi
200 xiaoma
300 xiaoyu
由此可以看出,scores[100]="maxi"會直接替換掉原來100map對應的value,而如果呼叫scores.insert()函式,則由於本map是單對映的,
但如果我想定義巢狀的map並對它進行遍歷,該如何進行呢:
#include
#include
int main()
return 0;
} 執行結果如下:
5 30 (xiaoma)
10 80 (xiaoyu)
10 90 (hi)
10 100 (maxi)
總結,map的成員加入有兩種賦值方法,一種是呼叫map.insert()函式,這樣,由於是單對映,後面加入的新的pair對如果有key值和前面一樣,那麼後面的pair對元素將不會被加入到map中;但如果是直接[ ]=賦值操作的話,相當於陣列賦值,會直接替換掉原來具有相同key域的pair對。
STL中map 和vector巢狀使用示例
pragma warning disable 4786 include include include include include using namespace std typedef mapstring2string typedef std map string2vector int mai...
stl中map的使用
map與set類似,都是乙個關聯式容器,但是與set不同的是他鍵值分離的,key,value 結構,在map結構中元素是不允許重複的。在學習的過程中,我們需要主要一些問題 就是在關聯式容器中,當資料很大的時候,使用其中的查詢演算法是很快速的,應該使用其提供的函式來實現查詢函式等等高,會比使用stl中...
STL中的map使用
set 集合 包含了經過排序了的資料,這些資料的值 value 必須是唯一的。map 對映 經過排序了的二元組的集合,map中的每個元素都是由兩個值組成,其中的key 鍵值,乙個map中的鍵值必須是唯一的 是在排序或搜尋時使用,它的值可以在容器中重新獲取 而另乙個值是該元素關聯的數值。map和set...