| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1192 人关注过本帖
标题:求助find_if的使用
只看楼主 加入收藏
warmsnake323
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-11-28
收藏
 问题点数:0 回复次数:5 
求助find_if的使用
例如定义了一个结构体
typedef struct
{
   int num;
   string name;
}tt;
vector<tt> lotofname;
for(int i=0;i<50;i++)
{
   tt names;
cin>>names.num>>names.name;
lotofname.push_back(names);
}

若要使用find_if在这组tt中找到 特定name值的元素,应该如何使用find_if?
搜索更多相关主题的帖子: find 
2008-11-22 17:25
warmsnake323
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-11-28
收藏
得分:0 
发现重贴了
不过上一个帖子也没有看得懂的答案啊~
2008-11-22 17:45
zxwangyun
Rank: 4
来 自:云南
等 级:业余侠客
威 望:1
帖 子:232
专家分:299
注 册:2008-10-17
收藏
得分:0 
关键是谓词判断函数的的设置:
我自己构造了一个,谨供参考
bool compName(tt T){
    return T.name=="mm";//mm为特定的name值(自己设定)
}
//下面是find_if的用法:
vector<tt>::iterator iLocation;
iLocation=find_if(lotofname.begin(),lotofname.end(),compName);
if(iLocation!=lotofname.end())
    cout<<"找到第一个特定元素值相等的元素:"<<(*iLocation).name<<endl\
    <<"元素索引位置为:"<<iLocation-lotofname.begin()<<endl;

努力改变一点点!!
2008-11-23 13:05
warmsnake323
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-11-28
收藏
得分:0 
谢谢!!
可是如果名字要在运行时指定呢?这样好像就不行了吧
2008-11-23 20:40
zxwangyun
Rank: 4
来 自:云南
等 级:业余侠客
威 望:1
帖 子:232
专家分:299
注 册:2008-10-17
收藏
得分:0 
变通一下不就ok啦
自己动动脑筋的事情

努力改变一点点!!
2008-11-23 21:23
warmsnake323
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-11-28
收藏
得分:0 
回复 第4楼 warmsnake323 的帖子
这不是一个难度层面上的问题啊
谢谢你啦
我问问其他人吧
2008-11-25 12:02
快速回复:求助find_if的使用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036005 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved