码迷,mamicode.com
首页 > 编程语言 > 详细

华为训练题目:初级——图片整理(排序,字典)

时间:2015-08-10 17:30:28      阅读:1124      评论:0      收藏:0      [点我收藏+]

标签:

Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。

 

 

知识点 字符串
运行时间限制 0M
内存限制 0
输入

Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。

 

 

输出

Lily的所有图片按照从小到大的顺序输出

 

 

样例输入 Ihave1nose2hands10fingers
样例输出 0112Iaadeeefghhinnnorsssv

 

思路1:

       采用字典法来做,因为只有‘0’—‘9’,‘A’—‘Z’,‘a’—‘z’,所以可以将这作为键,而他们出现的次数作为值,初始化都值为0

再用迭代器一次遍历一遍即可;

思路2:

       根据这些符号,把这个字符串遍历多遍,每次将其压入到一个string中,最后输出那个string

下面是AC的代码:

 

 1 #include<iostream>
 2 #include<string>
 3 #include<map>
 4 using namespace std;
 5 
 6 map<char,int> ma;
 7 
 8 void sorted(string& str)
 9 {
10     for(int i=0;i<9;i++)
11         ma[(map<char,int>::key_type)i]=0;
12     for(int i=A;i<=Z;i++)
13         ma[(map<char,int>::key_type)i]=0;
14     for(int i=a;i<z;i++)
15         ma[(map<char,int>::key_type)i]=0;
16     int len=str.size();
17     for(int i=0;i<len;i++)
18         ma[str[i]]++;
19     for(map<char,int>::iterator i=ma.begin();i!=ma.end();i++)
20     {
21         map<char,int>::key_type a=i->first;
22         map<char,int>::mapped_type b=i->second;
23         for(map<char,int>::mapped_type j=1;j<=b;j++)
24             cout<<a;
25     }
26     cout<<endl;
27 }
28 
29 void sorted2(string& str)
30 {
31     int len=str.size();
32     string s;
33     for(int i=0;i<=9;i++)
34         for(int j=0;j<len;j++)
35             if(str[j]==i)
36                 s.push_back(str[j]);
37     for(int i=A;i<=Z;i++)
38         for(int j=0;j<len;j++)
39             if(str[j]==i)
40                 s.push_back(str[j]);
41     for(int i=a;i<=z;i++)
42         for(int j=0;j<len;j++)
43             if(str[j]==i)
44                 s.push_back(str[j]);
45     cout<<s<<endl;
46 }
47 int main()
48 {
49     string str;
50     getline(cin,str);
51     sorted(str);
52 
53     system("pause");
54 }

 

华为训练题目:初级——图片整理(排序,字典)

标签:

原文地址:http://www.cnblogs.com/yanliang12138/p/4718354.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!