首页 > 代码库 > 使用find_if算法搜寻map的value
使用find_if算法搜寻map的value
//// 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;}
使用find_if算法搜寻map的value
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。