C++新手问题 关于map的使用
map<inta,intb>;请问我想单独输出map的第一个参数'a'或第二个参数'b'的值应该怎样书写格式呢?还有一个疑问我这个东西是用来做背包的也就是说第一个参数我作...
map<int a,int b>;
请问我想单独输出map的第一个参数'a' 或第二个参数'b'的值 应该怎样书写格式呢?
还有一个疑问 我这个东西是用来做背包的
也就是说 第一个参数我作为物品的ID 第二个参数我用来作为物品的个数
在给容器添加单位的时候 我想要达到如下功能:
首先判断容器中有无a
有->a对应的b+1
无->a+1,b=1;
求一个具体写法 因为小弟对map不是很熟.
感激万分 展开
请问我想单独输出map的第一个参数'a' 或第二个参数'b'的值 应该怎样书写格式呢?
还有一个疑问 我这个东西是用来做背包的
也就是说 第一个参数我作为物品的ID 第二个参数我用来作为物品的个数
在给容器添加单位的时候 我想要达到如下功能:
首先判断容器中有无a
有->a对应的b+1
无->a+1,b=1;
求一个具体写法 因为小弟对map不是很熟.
感激万分 展开
2个回答
展开全部
展开全部
map是模板,一个map变量key和value两个值,你在这里是想用类似map<int,int> m_map的变量来表示背包里的东西,m_map->first可以取得key值,m_map->second可以取得value值;map自动按照key值按升序排列,key的值不能修改,可以修改value的值。类似的写法:
map<int,int>::interator m_iter;
for(m_iter=m_map.begin();m_iter!=m_map.end();m_iter++)
{
if(m_iter.first==a)
m_map[a]++;
}
if(m_iter==m_map.end())
{
m_map[a+1]=1;
}
map<int,int>::interator m_iter;
for(m_iter=m_map.begin();m_iter!=m_map.end();m_iter++)
{
if(m_iter.first==a)
m_map[a]++;
}
if(m_iter==m_map.end())
{
m_map[a+1]=1;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询