multimap的查找

 假设有一个multimap定义:

 

typedef std::multimap<int, int>	                        MULTIMAP_MATCH;
typedef MULTIMAP_MATCH::iterator	                MULTIMAP_MATCH_IT;
typedef std::pair<MULTIMAP_MATCH_IT, MULTIMAP_MATCH_IT> PAIR_MATCH_RANGE;
MULTIMAP_MATCH m_multimapMatch;

 第一个int表示年级,第二个int表示学号。
 现在要查找2年级中,学号为10105的同学。

 int nGrade = 2;

 int idFind   = 10105;

PAIR_MATCH_RANGE range = m_multimapMatch.equal_range(nGrade);
MULTIMAP_MATCH_IT multi_it = range.first;
while (multi_it != range.second)
{
	int idStudent = multi_it->second;
	if(idStudent == idFind)
	{
		std::cout<< "find it"<< std::endl;
	}

	++multi_it;
}
时间: 2024-10-22 12:28:53

multimap的查找的相关文章

STL之六:map/multimap用法详解

map/multimap     使用map/multimap之前要加入头文件#include<map>,map和multimap将key/value当作元素,进行管理.它们可根据key的排序准则自动将元素排序.multimap允许重复元素,map不允许重复元素. map和multimap内部的数据结构也是平衡二叉树.     map和multimap根据元素的key自动对元素进行排序,要修改元素的key必须先删除拥有该key的元素,然后插入拥有新的key/value的元素. 常用函数 1.构

STL之二分查找 (Binary search in STL)

Section I 正确区分不同的查找算法count,find,binary_search,lower_bound,upper_bound,equal_range 本文是对Effective STL第45条的一个总结,阐述了各种查找算法的异同以及使用他们的时机.   首先可供查找的算法大致有count,find,binary_search,lower_bound,upper_bound,equal_range.带有判别式的如count_if,find_if或者binary_search的派别式版

STL之multiset中equal_range,multimap中的equal_range,bitset容器,string字符串操作,lambda表达式

 1multiset中用equal_range来遍历所有的元素 #include <set> #include <iostream> using namespace std;   //multiset中存储的元素是不重复的 void main() {     multiset<int> myset;     myset.insert(100);     myset.insert(101);     myset.insert(100);     myset.inser

STL之红黑树容器:set,hash_set,multiset,hash_map,multimap

 1红黑树set(不能包含重复元素) 案例1:红黑树容器set,插入,查找 #include<iostream> #include<set> usingnamespacestd;   //set中不能有重复的元素,它是一个红黑树容器 voidmain() {    set<int>myset;    myset.insert(10);    myset.insert(9);    myset.insert(8);    myset.insert(7);    mys

C++中 set,multiset,map,multimap 关联容器实例教程

测试环境:windows 7 vs2010 内部元素有序排列,新元素插入的位置取决于它的值,查找速度快. 除了各容器都有的函数外,还支持以下成员函数: find: 查找等于某个值的元素(x小于y和y小于x同时不成立即为相等)lower_bound: 查找某个下界upper_bound: 查找某个上界equal_range: 同时查找上界和下界count:计算等于某个值的元素个数(x小于y和y小于x同时不成立即为相等)insert: 用以插入一个元素或一个区间 在学习关联容器之前,我们先要学习pa

C++利用容器查找重复列功能实现_C 语言

复制代码 代码如下: # include <vector> # include <iostream> # include <set> using namespace std; int main(int argc, char * argv[]) { vector<int> v; //找一些数据来测试 for (int i = 0; i < 50; i++) v.push_back(rand() % 25); for (int i = 0; i <

Word长文档中如何查找与替换文本格式

我们在编辑一篇Word长文档时,可能有这样的需要:把文档中所有的已经统一为黑体三号字的章节标题全部更改为宋体加粗小三号字.这时,怎么才能快速而准确地完成这么多文本格式的查找和替换呢? 下面介绍两种方法,与大家共享,操作过程以Word2010为例,其他版本可参考步骤. 一.替换法 1.打开所需的Word文档. 2.在"开始"选项卡的"编辑"组中,单击"替换". 3.若看不到"格式"按钮,请先单击"更多"按钮.

Excel表格中数据比对和查找的几种技巧

  Excel表格中数据比对和查找的几种技巧          应用案例一:比对取出两表的交集(相同部分) Sheet1中包含了一份数据清单A,sheet2中包含了一份数据清单B,要取得两份清单共有的数据记录(交集),也就是要找到两份清单中的相同部分. 方法1:高级筛选 高级筛选是处理重复数据的利器. 选中第一份数据清单所在的数据区域,在功能区上依次单击[数据]--[高级](2003版本中菜单操作为[数据]--[筛选]--[高级筛选]),出现[高级筛选]对话框. 在对话框中,筛选[方式]可以根据

Word中巧用查找替换功能制作试卷

作为教师,经常会整理一些从网上下载的资料,并制作成试卷.有一次,一位朋友从网上另存了一个试卷的网页文本,有很多手动换行符,而且有答案. 想把这个试卷让学生做一遍,当然不需要答案,还要在每个选择题的前面加上一个括号,用来让学生填上答案.如果一个个地修改,要花费很多时间.能不能想一个 办法,快速地将这些问题都解决呢?当然有办法了,用"查找/替换"功能. 把不必要的手动换行符去掉 在Word 2003中打开"查找/替换"对话框(如图1),在"查找内容"