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出来,做操作,然后子节点入队。