I:倒置排序

总时间限制: 
1000ms
 
内存限制: 
32767kB
描述

将一些整数按倒置值排序后输出. 所谓倒置,是指把整数各位倒过来构成一个新数,例如:13倒置成了31.

输入
第一行的整数N表示后面列出的组数。每组数的第一个整数n表示后面将有n个整数。(每组数据量不超80)
输出
将每组数按倒置值进行排序输出.其每组数的结果占一行.
样例输入
2
4 83 13 24 36
4 99 100 123 12345
样例输出
13 83 24 36
100 99 123 12345
 1 #include <iostream>
 2 #include <algorithm>
 3 using namespace std;
 4 int daozhi(int a)
 5 {
 6     int m = 0;
 7     while (a != 0)
 8     {
 9         m = 10 * m + a % 10;
10         a /= 10;
11     }
12     return m;
13 }
14 int main()
15 {
16     int n, a[81], b[81];
17     cin >> n;
18     int m;
19     for (int i = 0; i < n; ++i)
20     {
21         cin >> m;
22         for (int j = 0; j < m; ++j)
23         {
24             cin >> a[j];
25             b[j] = daozhi(a[j]);
26         }
27         for (int x = 0; x < m - 1; ++x)
28         {
29             for (int y = 0; y < m - 1 - x; ++y)
30             {
31                 if (b[y] > b[y + 1])
32                 { 
33                     swap(b[y], b[y + 1]);
34                     swap(a[y], a[y + 1]);
35                 }
36             }
37         }
38         for (int j = 0; j < m; ++j)
39         {
40             cout << a[j] << " ";
41         }
42         cout << endl;
43     }
44 
45     return 0;
46 }

 

posted @ 2020-12-05 11:27  丁帅帅dss  阅读(436)  评论(0)    收藏  举报