• 计算机考研复试真题 大整数排序


    题目描述

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

    输入描述:

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

    输出描述:

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

    输入

    3
    11111111111111111111111111111
    2222222222222222222222222222222222
    33333333
    

    输出

    33333333
    11111111111111111111111111111
    2222222222222222222222222222222222




    /*程序设计思路:将测试数据存入到字符串类型的向量中,按题目要求对字符串排序输出即可。*/
    #include<iostream>
    #include<string>
    #include<algorithm>
    #include<vector>
    using namespace std;
    
    static bool comp(string a,string b){  //按题意,重写排序规则
        if(a.length()<b.length())
            return true;
        if(a.length()>b.length())
            return false;
        if(a.length()==b.length())
            return a<b;
        return false;
    }
    
    int main(){
        int N=0;
        while(cin>>N){
            vector<string>vec(N,"");  //保存大整数,注意这种向量的初值。
            for(int i=0;i<N;++i){
                cin>>vec[i];
            }
            sort(vec.begin(),vec.end(),comp);
            for(int i=0;i<N;++i){
                cout<<vec[i]<<endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    SQL Server DATALENGTH Functions
    SQL Server SUBSTRING Functions
    SQL Server LOWER Functions
    SQL Server CHARINDEX Functions
    SQL Server循环不连续的日期时间
    SQL Server 加号[+] 字符串串联运算符
    SQL Server LTRIM Functions
    SQL Server STUFF Functions
    SQL Server RIGHT Functions
    SQL Server LEN Functions
  • 原文地址:https://www.cnblogs.com/parzulpan/p/9923148.html
Copyright © 2020-2023  润新知