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

大整数排序

时间:2021-02-04 12:03:42      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:长度范围   space   大整数   describe   main   clu   ring   cout   cst   

题目描述

对N个长度最长可达到1000的数进行排序。

输入描述:

输入第一行为一个整数N,(1<=N<=100)。
接下来的N行每行有一个数,数的长度范围为1<=len<=1000。
每个数都是一个正数,并且保证不包含前缀零。

输出描述:

可能有多组测试数据,对于每组数据,将给出的N个数从小到大进行排序,输出排序后的结果,每个数占一行。
示例1

输入

3
11111111111111111111111111111
2222222222222222222222222222222222
33333333

输出

33333333
11111111111111111111111111111
2222222222222222222222222222222222

代码:
 1 #include <cstdio>
 2 #include <iostream>
 3 #include <string>
 4 #include <cstring>
 5 #include <cstdlib>
 6 #include <vector>
 7 #include <algorithm>
 8 using namespace std;
 9 struct Node{
10     char chr[1005];
11     int len;
12 }node[105];
13 vector<Node> vec;
14 bool cmp(Node a,Node b)
15 {
16    if(a.len!=b.len) return a.len<b.len;
17    else return strcmp(a.chr,b.chr)<0;
18 }
19 int main()
20 {
21     int n;
22     cin>>n;
23     for(int i=0;i<n;i++)
24     {
25         cin>>node[i].chr;
26         node[i].len=strlen(node[i].chr);
27         vec.push_back(node[i]);
28     }
29     sort(vec.begin(),vec.end(),cmp);
30     for(int i=0;i<n;i++)
31     {
32         cout<<vec[i].chr;
33         cout<<endl;
34     }
35     return 0;
36 }

 

大整数排序

标签:长度范围   space   大整数   describe   main   clu   ring   cout   cst   

原文地址:https://www.cnblogs.com/jianqiao123/p/14368641.html

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