当我使用对作为map中的键时,我试图获取对的第一个和第二个元素。为了更好的说明,请参见下面的代码。这就是我尝试过的
#include <bits/stdc++.h>
using namespace std;
int main()
{
// your code goes here
map<pair<int,int>,int>mp;
int n;
cin>>n;
int a[n];
for(int i=0;i<n;++i)cin>>a[i];
int y=0;
for(int i=0;i<n;++i)
{
mp.insert(make_pair(y,a[i]));
y=a[i]+1;
}
int m;
cin>>m;
int q[m];
for(int i=0;i<m;++i)cin>>q[i];
for(int i=0;i<m;i++)
{
int temp=q[i];
for(map<pair<int,int>,int>::iterator it=mp.begin();it!=mp.end();++it)
{
if(((it->first)<=temp)&&((it->second)>=temp))
cout<<mp->second<<endl;
}
}
return 0;
}
我想在这里获取密钥的第一和第二个要素。我该怎么做?
当您遍历时map
,可以获得以下项目
std::pair<int, int> key = it->first;
int value = it->second;
因此,first
和second
值key
会
it->first.first;
it->first.second;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句