4535: 【例】map-find()
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:16
解决:12
题目描述

样例输入 复制
样例输出 复制
Li
1003 找到了,值为:Sun
1000 Li
1001 Wang
1002 Zhao
1003 Sun
1004 Zhou
提示
#include<bits/stdc++.h> using namespace std; int main(){ //1、定义一个 map,默认根据 key 升序排序 map<int,string> m; //map<int,string,greater<int>>m; //为map 元素赋值 m[1000]="Zhang"; m[1002]="Zhao"; m[1003]="Sun"; m[1001]="Wang"; m[1000]="Li"; //2、获取键(关键字 key)为 1000 的值 cout<<m[1000]<<endl; //3、利用 make pair 创建 pair插入到 map中 //如果插入 pair,出现同样的key 不会有后面的 value 覆盖前面 value 的效果 pair<int,string> p(1004,"Zhou"); pair<int,string> p2(1004,"Wu"); m.insert(p); m.insert(p2); //4、erase //删除key为1003的pair //m.erase(1003); //由于map支持双向迭代器,因此不能用迭代器+x或者迭代器-x //m.erase(m.begin()); //遍历 map map<int,string>::iterator it; //5、find:获取指定元素的位置迭代器 it = m.find(1003); if(it != m.end()){ //或者 if(m.count(1003)) cout<<"1003 找到了,值为:"<<it->second<<endl; }else{ cout<<"1003 找不到!"<<endl; } for(it =m.begin();it != m.end();it++){ cout<<it->first<<" "<<it->second<<endl; } return 0; }