1
2014年から2010年までのリストを注文しようとしていますが、2010年から2014年にマージしました。どのように変更できますか?比較がゼロより大きい場合最大から最大までのマージ
import java.util.Comparator;
import mundoA.Registro;
public class RegistroComparadorA implements Comparator<Registro> {
public int compare(Registro r1, Registro r2) {
int rta = 0;
if (r1.getAnio() >r2.getAnio()) {
rta = 1;
} else if (r1.getAnio() < r2.getAnio()) {
rta = -1;
} else {
rta = r1.getWard().compareTo(r2.getWard());
}
return rta;
}
}
public NodoListaSencilla<T> merge(NodoListaSencilla<T> a, NodoListaSencilla<T> b) {
NodoListaSencilla<T> dummyHead, curr;
dummyHead = new NodoListaSencilla<T>(a.getElemento());
curr = dummyHead;
while(a !=null && b!= null) {
if(c.compare(a.getElemento(), b.getElemento())>0) {
curr.setSiguiente(b);
b = b.getSiguiente();
}
else {
curr.setSiguiente(a);
a= a.getSiguiente();
}
curr = curr.getSiguiente();
}
curr.setSiguiente((a == null) ? b : a);
return dummyHead.getSiguiente();
}
あなたが 'merge'を呼び出すとき、' a'と 'b'は既にあなたが望む順番で(後で最初に)順番に並んでいますか? – ajb