码迷,mamicode.com
首页 > 其他好文 > 详细

使用find_if算法搜寻map的value

时间:2014-09-09 11:10:28      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   使用   ar   2014   

//
//  main.cpp
//  map_find
//
//  Created by PKU on 14-9-8.
//  Copyright (c) 2014年 PKU. All rights reserved.
//

#include <iostream>
#include <algorithm>
#include <map>

using namespace std;

template <class K, class V>
class value_equals{
private:
    V value;
public:
    value_equals(const V & vt):value(vt)
    {
        
    }
    bool operator()(pair<const K, V> & elem)
    {
        return elem.second==value;
    }
};

int main(int argc, const char * argv[])
{

    typedef map<float, float> FloatFloatMap;
    FloatFloatMap coll;
    FloatFloatMap::iterator pos;
    coll[1]=7;
    coll[2]=4;
    coll[3]=2;
    coll[4]=3;
    coll[5]=6;
    coll[6]=1;
    coll[7]=3;
    pos=coll.find(3);
    if (pos!=coll.end()) {
        cout << pos->first << ": " << pos->second << endl;
    }
    pos=find_if(coll.begin(), coll.end(), value_equals<float, float>(3.0));
    while (pos!=coll.end()) {
        cout << pos->first << ": " << pos->second << endl;
        pos=find_if(++pos, coll.end(), value_equals<float, float>(3.0));
    }
    return 0;
}

bubuko.com,布布扣

使用find_if算法搜寻map的value

标签:style   blog   http   color   os   io   使用   ar   2014   

原文地址:http://www.cnblogs.com/lakeone/p/3961531.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!