c++ 關聯容器map,映射value到key,内部資料有序,采用紅黑樹,查找速度log2n。
map的幾個指令:
.insert({k,v})插入
或者用類似python字典的定義方法,map[k]=v
.find(k) 沒有這個key時傳回 .end()
用.fing==.end判斷是否有元素
或者用.count()==0 來判斷
map的定義
map<ktype k, vtype v>
疊代map
建立疊代器map<ktype k, vtype v>::iterator iter
for(iter=map.begin(); iter!=map.end();iter++)
疊代vector或list
for(ele_type ele: vector)
函數輸入指針,代表引用。
深拷貝需要建立新位址,再指派。避免了記憶體洩漏(被指派的原值還存在記憶體中未施放)。自定義類要定義拷貝函數做深拷貝。
圖的曆遍,廣度優先用queue,深度優先用stack。每次循環pop出來,做操作,然後子節點入隊。