zoukankan      html  css  js  c++  java
  • 华科机考:大整数排序

    时间限制:1秒  空间限制:32768K

    题目描述

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

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

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

    输入例子: 3

                 11111111111111111111111111111

                 2222222222222222222222222222222222

                 33333333

    输出例子: 33333333

                 11111111111111111111111111111

                 2222222222222222222222222222222222

    思路:写个cmp就行了,先按照长度来比较,如果一样的话再按照字典序来排

    代码:

    #include <algorithm>
    #include <iostream>
    #include <vector>
    using namespace std;
    
    int cmp(string str1,string str2){
       if(str1.size()!=str2.size())
          return str1.size()<str2.size();
       else
          return str1<str2;
    
    }
    int main(){
       int n,tmp;
       string str;
       vector<string> a;
       while(cin>>n){
       tmp=n;
       while(tmp--){
       cin>>str;
       a.push_back(str);
       }
       sort(a.begin(),a.end(),cmp);
       for(int i=0;i<n;i++)
        cout<<a[i]<<endl;
       a.clear();
       }
       return 0;
    }
  • 相关阅读:
    tp5.1接入支付宝网站支付
    go类型转换
    mysql常见sql练习题
    php 获取当前时间的 前一小时、一天、一个月、一年
    php如何检测是否有环
    Go的切片:长度和容量
    go实现小项目
    知乎网页版不登录如何浏览内容
    图挂了
    centos搭建php环境
  • 原文地址:https://www.cnblogs.com/mlgjb/p/6719847.html
Copyright © 2011-2022 走看看