【请教】【map>】【vector查找】【谓语】

shiguojie19892 2014-03-25 04:07:34
如题,如下例子:

typedef vector<int> Vec_Tid;
typedef map<int, Vec_Tid> Map_Cid;

Vec_Tid vec_tid;
Map_Cid map_cid;

Vec_Tid::iterator it_vec;
Map_Cid::iterator it_map;

//实现按照vector中的int值查找;
//如果有vector中的int值,就返回这个map键。(可能多个键中包含);
//请教如何实现;
...全文
159 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiguojie19892 2014-03-27
  • 打赏
  • 举报
回复
引用 3 楼 akirya 的回复:
[quote=引用 2 楼 shiguojie19892 的回复:] [quote=引用 1 楼 akirya 的回复:] 这种挨个遍历吧。
有通过谓语直接查询到的方式吗?能给写个简单的实例吗?伪代码即可[/quote]
    for( Map_Cid::iterator it_map = map_cid.begin(); it_map != map_cid.end() ; it_map++ )
    {
        if( it_map->second.end() != std::find( it_map->second.begin(), it_map->second.end() , 22 ) )
        {
			vec_tid.push_back( it_map->first );
        }
    }
[/quote] 只能如此了,还好表格不大
  • 打赏
  • 举报
回复
引用 2 楼 shiguojie19892 的回复:
[quote=引用 1 楼 akirya 的回复:] 这种挨个遍历吧。
有通过谓语直接查询到的方式吗?能给写个简单的实例吗?伪代码即可[/quote]
    for( Map_Cid::iterator it_map = map_cid.begin(); it_map != map_cid.end() ; it_map++ )
    {
        if( it_map->second.end() != std::find( it_map->second.begin(), it_map->second.end() , 22 ) )
        {
			vec_tid.push_back( it_map->first );
        }
    }
shiguojie19892 2014-03-25
  • 打赏
  • 举报
回复
引用 1 楼 akirya 的回复:
这种挨个遍历吧。
有通过谓语直接查询到的方式吗?能给写个简单的实例吗?伪代码即可
  • 打赏
  • 举报
回复
这种挨个遍历吧。

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧