zoukankan      html  css  js  c++  java
  • 大整数排序

    题目描述

    对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 }
    天晴了,起飞吧
  • 相关阅读:
    学生管理
    数据类型
    Linux安装、发布Django项目
    函数式编程
    学生管理系统
    mysql数据库工具类
    python操作数据库
    链接mysql建库建表
    列表元组字典集合
    内置对象相关方法
  • 原文地址:https://www.cnblogs.com/jianqiao123/p/14368641.html
Copyright © 2011-2022 走看看