美文网首页
8.count_if查找

8.count_if查找

作者: lxr_ | 来源:发表于2021-05-07 09:40 被阅读0次
#include<iostream>
using namespace std;

#include<vector>
#include<algorithm>

//count_if(iterator begin, iterator end, _Pred);按条件统计元素出现次数
//_Pred为谓词(即返回类型为bool的仿函数)

//统计内置数据类型
class Count20
{
public:
    bool operator()(const int val)
    {
        return val > 20;
    }
    
};
void test0801()
{
    vector<int> v;
    
    v.push_back(10);
    v.push_back(30);
    v.push_back(20);
    v.push_back(10);
    v.push_back(40);
    v.push_back(160);

    int cnt=count_if(v.begin(), v.end(), Count20());//使用仿函数匿名对象指定查找规则

    cout << "找到了" << cnt << "个" << endl;
}
//统计自定义数据类型
class Person
{
public:
    Person(string name,int age)
    {
        this->m_Name = name;
        this->m_Age = age;
    }
    string m_Name;
    int m_Age;
};
class CountPerson
{
public:
    bool operator()(const Person p)
    {
        if (p.m_Name == "xian")
            return true;
        return false;
    }
};
void test0802()
{
    vector<Person> v;

    Person p1("xian", 11);
    Person p2("si", 21);
    Person p3("xian", 11);
    Person p4("fan", 31);
    Person p5("xan", 41);

    v.push_back(p1);
    v.push_back(p2);
    v.push_back(p3);
    v.push_back(p4);
    v.push_back(p5);

    int cnt = count_if(v.begin(), v.end(), CountPerson());//使用仿函数匿名对象指定查找规则
    cout << "找到了" << cnt << "个" <<"xian"<< endl;
}

int main()
{
    test0801();
    test0802();

    system("pause");
    return 0;
}

相关文章

  • 8.count_if查找

  • 《数据结构与算法》知识点(四)

    第七章 查找 顺序查找、折半查找、索引查找、分块查找是静态查找,动态查找有二叉排序树查找,最优二叉树查找,键树查找...

  • 查找

    静态查找顺序查找 折半查找 散列查找 动态查找二叉排序树 散列查找 ASL(平均查找长度) - 衡量查找算法效率的...

  • PHP查找算法

    静态查找 顺序查找 折半查找 递归折半查找

  • 6.1 查找算法_基础

    1. 查找基本概念 查找:只有两种情况,查找成功,查找失败 查找表:查找的数据集合称为查找表 静态查找表 / 动态...

  • 据结构与算法学习-查找与二叉排序树

    查找表操作方式分为静态查找和动态查找。静态查找表(Static Search Table): 只作查找操作的查找表...

  • iOS-字符串查找

    字符串查找通常有四种方式,暴力查找,KMP查找,BoyerMoore查找以及RabinKarp算法查找,查找最简单...

  • linux 查找目录或文件

    查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) ...

  • Linux查找文件、文件夹

    查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) ...

  • linux常用命令

    查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) ...

网友评论

      本文标题:8.count_if查找

      本文链接:https://www.haomeiwen.com/subject/stwirltx.html