我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:六合公式 > 仿函数 >

c++ set里放结构体然后find函数应该怎么用?

归档日期:05-02       文本归类:仿函数      文章编辑:爱尚语录

  比如这样,我想要搜索所有a==1但是b为任意值的内容,我该怎么去用find()?

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  知道合伙人互联网行家采纳数:22817获赞数:94131从事多年网络方面工作,有丰富的互联网经验。向TA提问展开全部#includeiostream

  /*先比较名字;若名字相同,则比较年龄。小的返回true*/

  

  /*构造一个测试的Student,可以看到,即使stuTemp与stu1实际上并不是同一个对象,

  *但当在set中查找时,仍会查找成功。这是因为已定义的studentSortCriterion的缘故。

  知道合伙人生活技巧行家采纳数:48114获赞数:268227生活是一门艺术,在于经营,平时最大的爱好就是学习和了解健康生活方面的知识向TA提问展开全部你没说清楚,其实和你这个问题相关的有两个find函数,一个是stl的算法函数find,另一个是set类的成员函数find

  非成员函数find是线性时间复杂度的,他挨个遍历你传给他的区间内的元素,用等于号运算符判断是不是相等。

  而set的成员函数find是logn时间复杂度的,他利用set内部的数据结构(一般来说是红黑树)来寻找元素,依据是set内部的比较器,如果你没有显式给他比较器的话,默认就是小于号运算符

  所以:这两个函数会得到不一样的结果,如果你定义的等于号和小于号是不一致的话。如果你要通过等于号查找的话,用非成员函数的find更多追问追答追问好吧我不知道stl的那个find。。

本文链接:http://renfriends.com/fanghanshu/273.html