C++ map的find和count的分析
用法
- count,返回的是被查找元素的个数。因为map中不存在相同元素,所以返回值只能是1或0。
if(m.count(tmp) > 0){ // found
// to do
}
- find,返回的是被查找元素的位置,没有找到则返回map.end()。
if(m.find(tmp) != m.end()){ // found
// to do
}
复杂度分析
find和count的时间复杂度都是O(logN)级别的
但是在其他方面find 的效率比count更高一点(猜测是除了map等,其他可能会有重复的元素,那么count就需要继续检索)
内容拓展
其实count 和find 是C++ STL里面的方法,set也可以用。
map和set都是通过红黑树实现
版权声明:本文为weixin_43085694原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。