nyoj 4 ASCII码排序(set,multiset)

ASCII码排序

时间限制:3000 ms  |  内存限制:65535 KB
难度:2
 
描述
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
 
输入
第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。
输出
对于每组输入数据,输出一行,字符中间用一个空格分开。
样例输入
2
qwe
asd
样例输出
e q w
a d s


 1 #include <iostream>
 2 #include <set>
 3 using namespace std;
 4 
 5 //自定义比较函数,重载"()"操作符
 6 struct mycomp{
 7     bool operator()(const char &a, const char &b){
 8         return a < b;
 9     }
10 };
11 
12 int main(){
13     multiset <char,mycomp> ms;
14     int test;
15     char c;
16     cin >> test;
17     while(test--){
18         ms.clear();
19         for(int i = 0; i < 3; i++){
20             cin >> c;
21             ms.insert(c);
22         }
23         for (multiset<char,mycomp>::iterator it = ms.begin(); it != ms.end(); it++){
24             if(it == ms.begin())
25                 cout << *it;
26             else 
27                 cout << " " << *it;
28         }
29         cout << endl;
30     }
31     return 0;
32 }
原文地址:https://www.cnblogs.com/qinduanyinghua/p/6392544.html