我需要对一个巨大的对象数组进行排序。每个对象都包含一个数字。我需要按那个数字排序,但我不能用比较器。有可能使用mergesort
算法吗?
只要每个对象都有进行比较的方法(通常在"compareTo(T other("函数中完成(,mergesort就是一个可行的解决方案。
编辑:更彻底地说,它看起来像这样:
public int compareTo(T other){
if this.getNumber() == other.getNumber(){
return 0;
}
else if this.getNumber() > other.getNumber(){
return 1;
}
else{
return -1;
}
}