欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

自用带备注代码

时间:2023-05-29
洛谷p2249

查找基础题

#include#include #define f(i,n,m) for(int i=n;i<=m;i++)using namespace std;int main(){int n,m,x;map a;//建立一个STL容器cin>>n>>m;f(i,1,n){cin>>x;a.insert(pair(x,i));//用对存储 key是x 如果有同样的x 不录入}map::iterator k;//定义变量k, 可赋值a的key和secondf(i,1,m){cin>>x;k=a.find(x);//令k等于x的对应数值if(i!=1) cout<<" ";if(k!=a.end())//如果k存在,即找到了key为x的对应数值,一定是输出第一个{cout<second;//意思为输出k的second}else cout<<"-1";//没找到}}

1.关于map的录入

1.使用insert//关键词重复不录入m.insert(pair(1,"333"));2.使用数组方式//关键词重复会覆盖m[1]="333";

2.遍历map

m_t::iterator i;//初始化变量for(i=m.begin();i!=m.end();i++)//从开始到结尾遍历{ cout<first<<" "<second<

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。