如果只需要存储元素(或者删除重复元素),无需其他信息,则使用集合,python和c++都是使用set。
在python中,add()和remove()方法分别进行添加和删除元素,对应的在c++中,使用insert()和erase()方法。判断是否存在某元素时,python代码是if x in set0,c++代码是if(set0.find(x) == set0.end())
如果在存储元素的同时,还存储其他信息,比如次数,python使用dict,c++使用map。元素key是唯一值,其他信息value是元素的某个属性,可以有重复值。部分比较如下表所示:
操作 | python | c++ |
---|---|---|
初始化 | dict0 = {} | mapmap0; |
添加元素 | dict0[key]=value | map0[key]=value |
删除元素 | dict0.pop(key) | map0.erase(key) |
判断元素是否存在 | if key in dict0 | if(map0.find(key) == map0.end()) |
遍历元素 | for k, v in dict0.items() | map::iterator iter;for(iter = map0.begin(); iter != map0.end(); iter++) key=it->first, value=it->second;} |