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 ****************************************************************/
  • 相关阅读:
    jquery ajax参数详解
    压缩解压函数实现
    WCF 大数据量如何从服务端传到客户端
    [DllImport("kernel32.dll")]
    Oracle数据库使用基础和实例
    Js常用的动态效果
    Js使用正则实现表单验证
    Oracle数据库理论知识
    HTML5,CSS3,JavaScript基础知识与使用
    速读《人月神话》
  • 原文地址:https://www.cnblogs.com/qq1029579233/p/4794287.html
Copyright © 2011-2022 走看看