天天看點

c++筆記 2019.12.24

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出來,做操作,然後子節點入隊。

繼續閱讀