BToj 1031问题 B: KACA的数字排序 【大数比较--结构体sort && java大数比较】

来源:互联网 发布:java未来的应用前景 编辑:程序博客网 时间:2024/04/29 23:26


传送门:1031


问题 B: KACA的数字排序

时间限制: 1 Sec  内存限制: 128 MB

提交: 9  解决: 3

题目描述

PIPA想让KACA给一串数进行排序。

KACA表示这是个简单的问题,然而当他看到这些数字后,顿时懵逼了。只见各种1234567890987654321……都是非常巨大的数字,但在他思考之后,还是选择接下了这个任务。

输入

第一行是一个整数T(1<=T<=100),代表有T组测试数据。

每组数据第一行是一个整数n(1<=n<=100),代表有n个数字。

下面有n行,每行有一个整数x(0<=|x|<=10100)。

输出

对于每组测试数据,输出从小到大排序后的结果。

每行输出一个数字。

样例输入

13123345234

样例输出

123234345


c++代码:

#include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct node{char ch[120];int ll;int hao;}shu[120];bool cmp(node xx,node yy){if (xx.hao!=yy.hao)return xx.hao<yy.hao;if (xx.hao==1){if (xx.ll!=yy.ll)return xx.ll>yy.ll;for (int i=0;i<xx.ll;i++){if (xx.ch[i]!=yy.ch[i])return xx.ch[i]>yy.ch[i];}return xx.ch[xx.ll-1]>yy.ch[xx.ll-1];}else{if (xx.ll!=yy.ll)return xx.ll<yy.ll;for (int i=0;i<xx.ll;i++){if (xx.ch[i]!=yy.ch[i])return xx.ch[i]<yy.ch[i];}return xx.ch[xx.ll-1]<yy.ch[xx.ll-1];}}int main(){int t;scanf("%d",&t);while (t--){int n;scanf("%d",&n);for (int i=0;i<n;i++){scanf("%s",shu[i].ch);shu[i].ll=strlen(shu[i].ch);if (shu[i].ch[0]=='-')shu[i].hao=1;elseshu[i].hao=2;}sort(shu,shu+n,cmp);for (int i=0;i<n;i++)printf("%s\n",shu[i].ch);}return 0;}


java代码:

punlic int compareTo()比较,>返回1,==返回0,<返回-1;


import java.util.Scanner;import java.math.BigInteger;public class Main {     private static int i;     public static void main(String[] args) {        // TODO Auto-generated method stub        Scanner scan = new Scanner(System.in);        BigInteger []num = new BigInteger[120];        int n,t;        t=scan.nextInt();        for (int kk=1;kk<=t;kk++)        {            n=scan.nextInt();            for (int i=1;i<=n;i++)                num[i]=scan.nextBigInteger();            for (int k=1;k<n;k++)                for (int j=k+1;j<=n;j++)                if (num[j].compareTo(num[k])<0)/*punlic int compareTo()比较,>返回1,==返回0,<返回-1;*/                {                    num[111]=num[k];                    num[k]=num[j];                    num[j]=num[111];                }            for (int i=1;i<=n;i++)                System.out.println(num[i]);        }             } }


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 车座位里面倒了汤怎么办 腿被棍子打肿了怎么办 刚买的手机碎屏怎么办 被木棍么么打到头项怎么办 大王卡用到40g怎么办 王卡40g用完了怎么办 父亲把母亲打成重伤怎么办 狗狗脖子摔歪了怎么办 吃鸡游戏中重伤怎么办 吃鸡游戏摔伤了怎么办 现在没能力偿还网贷怎么办 上海找夜场工作被骗了怎么办? 买了烂尾的楼盘怎么办 孕七个月蛀牙疼怎么办 宝宝只吃一边奶怎么办 实房付了定金后悔了怎么办 开车时遇到意外事故时怎么办 没干过影楼门市怎么办 uplay下载游戏速度0k怎么办 缓刑期间被别人打成轻伤怎么办 缓刑期间被别人打了怎么办 有缓刑被别人打怎么办 检察院不予立案怎么办公安局取保 监外执行过了又犯罪怎么办 监视居住期间再次犯罪怎么办 前妻有贷款跑了怎么办 未成年犯有缓刑罪继续犯罪怎么办 英朗出现检修esc怎么办 照相时奖状拿反了怎么办 wps文档加密后忘记密码怎么办 wps表格文件密码忘记了怎么办 wps表格密码忘记了怎么办 发布的文案缩成一行怎么办 创维电视都是VIP怎么办 挂电视距离太远怎么办 电视离沙发太近怎么办 苹果6更新11.1卡怎么办 苹果升级变卡了怎么办 迅雷被资源举报无法加速怎么办 迅雷的敏感资源无法加速怎么办 迅雷下载敏感资源无法加速怎么办