Java的结构体排序

来源:互联网 发布:linux 毫秒级的 sleep 编辑:程序博客网 时间:2024/06/05 19:54

import java.util.Scanner;import java.util.Arrays;import java.util.Comparator;class GP{float weight;float height;float BMI(){return this.weight/this.height/this.height;};int order;}class cmp implements Comparator<GP>{public int compare(GP a, GP b){if(a.BMI()!=b.BMI()) return a.BMI()>b.BMI()?1:-1;return a.order>b.order? 1:-1; }}public class Main{public static void main(String [] args){GP st [] = new GP [4];//声明数组Scanner cin = new Scanner(System.in);    for(int i=0;i<4;i++)    {           st[i] = new GP();//初始化每一个对象!    st[i].weight=cin.nextFloat();    }    for(int i=0;i<4;i++)    {    st[i].height=cin.nextFloat();    //st[i].BMI=st[i].weight/st[i].height/st[i].height;    }    for(int i=0;i<4;i++)    {    st[i].order=i+1;    }    Arrays.sort(st,new cmp());    //Arrays.sort(st, 0, st.length, new cmp() );    for(int i=0;i<4;i++)    if(st[i].order==1) System.out.println(i+1);   /*    for(int i=0;i<4;i++)     System.out.print(st[i].order+" ");       System.out.println();    for(int i=0;i<4;i++)     System.out.print(st[i].BMI()+" ");   */}}






简单例题:



3111: 猴哥分蛋糕

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 117  Solved: 19
[Submit][Status][Web Board]

Description

12月12日是猴哥的生日,小乌龟请了吉吉、圆圆,孝孝来给猴哥祝贺,开始分蛋糕了,小乌龟提议大家按照每个人的BMI指数(体重公斤数除以身高米数平方得出的数字)从小到大的次序挑选蛋糕,下面依次给出每个人的身高和体重,问小乌龟是第几个挑选蛋糕的?当BMI指数相同时,小乌龟优先挑选。

Input

第一行依次给出小乌龟、吉吉、圆圆、孝孝的体重(公斤)
第二行依次给出小乌龟、吉吉、圆圆、孝孝的身高(米)

Output

小乌龟挑选蛋糕的次序

Sample Input

45 80 75 501.73 1.73 1.81 1.75

Sample Output

1

HINT

Source

lyh




原创粉丝点击