zoukankan      html  css  js  c++  java
  • 题目4 EXCEL排序

     1 import java.util.Arrays;
     2 import java.util.Comparator;
     3 import java.util.Scanner;
     4  
     5 public class Main{
     6     private static class stu{
     7         String num;
     8         String name;
     9         int score;
    10         @Override
    11         public String toString() {
    12             return num+" "+name+" "+score;
    13         }
    14     }
    15     private static class C1 implements Comparator<stu>{
    16         @Override
    17         public int compare(stu o1, stu o2) {
    18             return o1.num.compareTo(o2.num);
    19         }
    20     }
    21     private static class C2 implements Comparator<stu>{
    22         @Override
    23         public int compare(stu o1, stu o2) {
    24             if(o1.name.compareTo(o2.name)!=0)
    25                 return o1.name.compareTo(o2.name);
    26             else
    27                 return o1.num.compareTo(o2.num);
    28         }
    29     }
    30     private static class C3 implements Comparator<stu>{
    31         @Override
    32         public int compare(stu o1, stu o2) {
    33             if(o1.score>o2.score) return 1;
    34             else if(o1.score<o2.score) return -1;
    35             else return o1.num.compareTo(o2.num);
    36         }
    37     }
    38      
    39     public static void main(String[]args){
    40         stu[] student=new stu[100000];
    41         for(int i=0;i<100000;i++)
    42             student[i]=new stu();
    43         Scanner in=new Scanner(System.in);
    44         int count=0;
    45         while(in.hasNext()){
    46             int N=in.nextInt();
    47             int C=in.nextInt();
    48             if(N==0) break;
    49             for(int i=0;i<N;i++){
    50                 student[i].num=in.next();
    51                 student[i].name=in.next();
    52                 student[i].score=in.nextInt();
    53             }
    54             switch (C) {
    55             case 1:
    56                 C1 c1=new C1();
    57                 Arrays.sort(student,0,N,c1);//0表示第一个下标,N表示最后一个下标+1
    58                 break;
    59             case 2:
    60                 C2 c2=new C2();
    61                 Arrays.sort(student,0,N,c2);
    62                 break;
    63             case 3:
    64                 C3 c3=new C3();
    65                 Arrays.sort(student,0,N,c3);
    66                 break;
    67             default:
    68                 break;
    69             }
    70             count++;
    71             System.out.println("Case "+count+":");
    72             for(int i=0;i<N;i++)
    73                 System.out.println(student[i]);
    74         }
    75     }
    76 }
    77 /**************************************************************
    78     Problem: 1023
    79     User: 0000H
    80     Language: Java
    81     Result: Time Limit Exceed
    82 ****************************************************************/
  • 相关阅读:
    sockaddr与sockaddr_in,sockaddr_un结构体详细讲解
    busybox程序连接 ln怎么回事?怎样实现的
    有线网卡与无线网卡同时使用
    "$(@:_config=)"
    C#中Global文件
    Win7 IIS7 HTTP 错误 404.2 Not Found解决方法
    C#中的日期处理函数
    js字母大小写转换
    asp.net发布到IIS中出现错误:处理程序“PageHandlerFactoryIntegrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
    sql server在存储过程中使用游标和事务
  • 原文地址:https://www.cnblogs.com/qq1029579233/p/4794287.html
Copyright © 2011-2022 走看看