1.自定义类实现Comparable接口
static class Compare implements Comparable<Compare>{
int x,y;
public Compare(int x, int y) {
this.x = x;
this.y = y;
}
@Override
public int compareTo(Compare c) {
// TODO 自动生成的方法存根
if(this.x!=c.y)
return this.x-c.x;
else
return this.y-c.y;
}
}
注意:
1.类中需要构造函数,用于输入
2.this减去参数则是从小到大,反之从大到小
3.类的定义格式需要记清楚,static class Compare implements Comparable<Compare>
,加static才能在main中调用。一般来说,自定义函数都要加static,这样在能在main中调用
2.定义数组并排序
final int N = 100010;
int m;
Scanner in = new Scanner(System.in);
m = in.nextInt();
Compare[] pair = new Compare[N];
int [][] s = new int[2][N];
pair[0] = new Compare(-1,-1);
for(int i = 1; i<=m; i++) {
int x = in.nextInt();
int y = in.nextInt();
pair[i] = new Compare(x,y);
}
Arrays.sort