map 应用

 1 /*
 2 映射:map从键(key)到值(value)的映射,因为重载了[]运算符,map像是数组的高级版.
 3 */
 4 
 5 #include <cstdio>
 6 #include <iostream>
 7 #include <algorithm>
 8 #include <map>
 9 #include <vector>
10 using namespace std;
11 map<string,int> c;
12 vector <string> word;
13 
14 string repr(const string &s)
15 {
16     string ans=s;
17     for(int i=0;i<ans.length();i++)
18         ans[i]=tolower(ans[i]);
19     sort(ans.begin(),ans.end());
20     return ans;
21 }
22 int main ()
23 {
24     int n=0;
25     string s;
26     while(cin >> s)
27     {
28         if(s[0]=='#')
29             break;
30         word.push_back(s);
31         string r=repr(s);
32         if(!c.count(r))
33             c[r]=0;
34         c[r]++;
35     }
36     vector<string>ans;
37     for(int i=0;i<word.size();i++)
38         if(c[repr(word[i])]==1)  ans.push_back(word[i]);
39     sort(ans.begin(),ans.end());
40     for(int i=0;i<ans.size();i++)
41         cout << ans[i] << endl;
42     return 0;
43 }
44     

find函数--查找map的元素。

count函数--统计map中某元素关键字的个数。

posted on 2016-05-09 16:22  青春的梦想付诸行动  阅读(120)  评论(0编辑  收藏  举报

导航