Map的使用

来源:互联网 发布:淘宝精品推荐女鞋 编辑:程序博客网 时间:2024/04/30 19:10

以下是一个更新Map里面的内容的例子:

// testmap.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <map>using namespace std;typedef unsigned int            CTuint;typedef map<CTuint, CTuint>CTGroupQueue;typedef map<CTuint, CTuint>::iteratorIteratorGQ;CTGroupQueue m_mapGQ;void UpdateGroupCallQueue(CTuint groupId,CTuint callQueue){CTuint nGroupId,nQueue;if(m_mapGQ.size() == 0){m_mapGQ.insert(CTGroupQueue::value_type(groupId,callQueue));return;}IteratorGQ itGQ;for(itGQ = m_mapGQ.begin();itGQ!=m_mapGQ.end();itGQ++){nGroupId = (*itGQ).first;nQueue = (*itGQ).second;if (nGroupId!=groupId){  cout << "new  "<<endl;           m_mapGQ.insert(CTGroupQueue::value_type(groupId,callQueue));  return ;}else{         cout << "exist  "<<endl;   m_mapGQ.erase(itGQ);           m_mapGQ.insert(CTGroupQueue::value_type(groupId,callQueue));}}}int _tmain(int argc, _TCHAR* argv[]){UpdateGroupCallQueue(10,1);UpdateGroupCallQueue(10,2);UpdateGroupCallQueue(20,2);    IteratorGQ itGQ;int nLessAgent,nLessQueue;for(itGQ = m_mapGQ.begin();itGQ!=m_mapGQ.end();itGQ++){nLessAgent = (*itGQ).first;nLessQueue = (*itGQ).second;cout << "first "<<nLessAgent ; cout << " second "<<nLessQueue << endl; }getchar();return 0;}
注意:
 m_mapGQ.insert(CTGroupQueue::value_type(30,40));   
m_mapGQ.insert(CTGroupQueue::value_type(30,50)); 
由于map是key和value的一一对应的,所以key只能有一个,以上接口的map只有一个值30,40  




原创粉丝点击