1. 程式人生 > >java(結構體排序)

java(結構體排序)

問題描述

  對於給定整數陣列a[],尋找其中最大值,並返回下標。

輸入格式

  整數陣列a[],陣列元素個數小於1等於100。輸出資料分作兩行:第一行只有一個數,表示陣列元素個數;第二行為陣列的各個元素。

輸出格式

  輸出最大值,及其下標

樣例輸入

3
3 2 1

樣例輸出

3 0

我覺得,題目有點小錯誤,但不影響讀題,就是找出最大值及其下標,注意下標從0開始。

import java.util.*;
public class Main {
	static Scanner cin = new Scanner(System.in);
	static class hh{
		int v;
		int id;
		public hh(int v,int id) {
			this.v=v;
			this.id=id;	
		}
	}//結構體
	static hh [] a = new hh[5000];
	static Comparator cmp = new Comparator <hh>() {
		public int compare(hh a,hh b){
			return a.v-b.v;
		}
	};//結構體比較函式
	public static void main(String[] args){
		int n = cin.nextInt();
		for (int i = 0; i < n;i++) {
			a[i]=new hh(cin.nextInt(),i);//輸入方式
		}
		Arrays.sort(a, 0,n,cmp);
		System.out.println(a[n-1].v + " " + a[n-1].id);
	}
}