4
以下排序順序是否有名字?給定一個索引,按照與該索引相近的順序對列表進行排序。這種排序有一個名字嗎?
Collections.sort(items, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
int distanceA = (int)Math.abs(centerIndex - items.indexOf(o1));
int distanceB = (int)Math.abs(centerIndex - items.indexOf(o2));
int result = distanceA - distanceB;
return result;
}
}
所以對於列表[1,2,3,4,5,6,7,8,9,10]
和7 centerIndex,排序列表將是:[7,8,6,9,5,10,4,3,2,1]
爲什麼排序的列表以'7,8,6'開頭,'7,6,8'不可接受?在我看來,6和8兩者的距離都相同。7 – Tunaki
@ Tunkai。排序可能會也可能不穩定。這個似乎並不是因爲如果距離相等,比較器不檢查絕對符號。 –
@Tunaki它說「7,6,8」不可接受? –