oyrp
随笔 - 0  文章 - 2  trackbacks - 0
<2024年9月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

常用链接

留言簿

文章分类

文章档案

搜索

  •  

最新评论

C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。
 1#include <iostream>
 2#include <iomanip>
 3#include <string>
 4#include <map>
 5using namespace std;
 6int main()
 7{
 8map<string,int> m;
 9int n; cin>>n;
10string s;
11int x;
12for (int i=1;i<=n;i++)
13{
14    cin>>s>>x;
15    m[s]=x;
16}

17int k;
18cin>>k;
19for (int i=1;i<=k;i++)
20{
21    cin>>s;
22    cout<<m[s]<<endl;
23}

24return 0;
25}

26
27
28一、map的说明 
291 头文件 
30#include <map> 
31
322 定义 
33map<stringint> my_Map; 
34或者是typedef map<stringint> MY_MAP; 
35MY_MAP my_Map; 
36
373 插入数据 
38(1) my_Map["a"= 1
39(2) my_Map.insert(map<stringint>::value_type("b",2)); 
40(3) my_Map.insert(pair<string,int>("c",3)); 
41(4) my_Map.insert(make_pair<string,int>("d",4)); 
42
434 查找数据和修改数据 
44(1int i = my_Map["a"]; 
45my_Map["a"= i; 
46(2) MY_MAP::iterator my_Itr; 
47my_Itr.find("b"); 
48int j = my_Itr->second; 
49my_Itr->second = j; 
50不过注意,键本身是不能被修改的,除非删除。 
51
525 删除数据 
53(1) my_Map.erase(my_Itr); 
54(2) my_Map.erase("c"); 
55还是注意,第一种情况在迭代期间是不能被删除的,道理和foreach时不能删除元素一样。 
56
576 迭代数据 
58for (my_Itr=my_Map.begin(); my_Itr!=my_Map.end(); ++my_Itr) {} 
59
607 其它方法 
61my_Map.size() 返回元素数目 
62my_Map.empty() 判断是否为空 
63my_Map.clear() 清空所有元素 
64可以直接进行赋值和比较:=>>=<<=!= 等等 
65
66更高级的应用查帮助去吧,^_^;


posted on 2009-11-23 00:33 纳兰伴月 阅读(631) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理