归并排序
待排序区区间[low,high)
public static void mergeSort(int[] array, int low,int high){
1.先求待排序区间的下标
2.对左右两个小区间进行归并排序,直到小区间长度<=1
3.执行合并两个有序数组的操作
}
Person[] people;
排序 people;
没办法直接做,原因是Person类型的引用无法和另一个Person类型的引用类型做大小比较
equals方法可以做相等比较,需要重写这个方法 相等性的比较
引入一个接口 Comparable<E>
1.让Person实现 该接口
comparable<Person> 对象的自然顺序(nature order)
要和谁比较就填啥,也可以写<String>
2.覆写compareTo(Person o) 表示对象可以进行比较
该方法返回值<0 this 比较小
该方法返回值=0 相等
该方法返回值>0 o比较小
引入另一个接口comparator<E> 比较器
不引入第三方对象用Comprable
引入第三方对象用Comparator
class Card implements Comprable<Card>{ Card c1=...;
@Override Card c2=...;
public int compareTo(Card o){