C++的find_if函数

find_if函数可以查询复杂数据类型,比如结构体。

///ttt.cpp
//c++编译器下通过 

#include
#include
#include 
#include 
#include
using namespace std;

struct node
{
    int data;
    int count;
};


node x;//find_if函数的第三个参数需要一个全局变量和一个函数 
bool cmp(node y)
{
    return x.data==y.data;
}

void print(vector elem)
{
    for(int i=0;i     {
        printf("%d %d\n",elem[i].data,elem[i].count);
    }
}


int main()
{
    
    node a[]={{1,1},{3,1},{5,1},{7,1},{9,1},{2,1},{4,1},{6,1},{8,1}};
    vector elem;
    elem.insert(elem.begin(),a,a+9);
    
    //下面的代码是在elem中查找某个数据是否存在
    //使用find_if函数 
    x=a[3];
    vector::iterator it=find_if(elem.begin(),elem.end(),cmp) ;
    cout<data<     print(elem);
    
    return 0;

你可能感兴趣的:(数据结构,C++,c++)