1190.大整数排序

2021-06-15 02:05

阅读:677

标签:tput   scan   int   结果   out   namespace   排序   const   integer   

题目描述:

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

输入:

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

输出:

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

样例输入:
3
11111111111111111111111111111
2222222222222222222222222222222222
33333333
样例输出:
33333333
11111111111111111111111111111
2222222222222222222222222222222222

#include 
#include string.h>
#include 
using namespace std;
const int MAX = 1000;
struct BigInteger
{
    int digit[MAX];
    int size;
    void init() {
        for (int i = 0;i ) {
            digit[i] = 0;
        }
        size = 0;
    }
    void set(char str[]) {
        init();
        int L = strlen(str);
        for (int i = L - 1, j = 0, t = 0, c = 1;i >= 0;i--) {
            t += (str[i] - 0)*c;
            j++;
            c *= 10;
            if (j == 4 || i == 0) {
                digit[size++] = t;
                j = 0;t = 0;c = 1;
            }
        }
    }
    void output() {
        for (int i = size - 1;i >= 0;i--) {
            if (i != size - 1) {
                printf("%04d", digit[i]);
            }
            else {
                printf("%d", digit[i]);
            }
        }
        printf("\n");
    }
    bool operator const BigInteger A) const
    {
        if (size != A.size)
        {
            return size  A.size;
        }
        else
        {
            for (int i = size - 1; i >= 0; i--)
            {
                if (digit[i] != A.digit[i])
                {
                    return digit[i]  A.digit[i];
                }
            }
        }
    }
 
 
}E[100];
 
char str[1000];
int main()
{
    int n;
    while (scanf("%d", &n) != EOF) {
        for(int i =0;i) {
            scanf("%s", str);
            E[i].set(str);
        }
        sort(E, E + n);
        for (int i = 0;i) {
            E[i].output();
        }
    }
    return 0;
}

 

1190.大整数排序

标签:tput   scan   int   结果   out   namespace   排序   const   integer   

原文地址:https://www.cnblogs.com/bernieloveslife/p/9735260.html


评论


亲,登录后才可以留言!