如何通过使用比较器来实现气泡排序?如何使用比较器来实现气泡排序?
谢谢。
这是我比较的样子:
class ColumnSorter implements Comparator {
int colIndex;
ColumnSorter(int colIndex) {
this.colIndex = colIndex;
}
public int compare(Object a, Object b) {
Vector v1 = (Vector) a;
Vector v2 = (Vector) b;
Object o1 = v1.get(colIndex);
Object o2 = v2.get(colIndex);
if (o1 instanceof String && ((String) o1).length() == 0) {
o1 = null;
}
if (o2 instanceof String && ((String) o2).length() == 0) {
o2 = null;
}
if (o1 == null && o2 == null) {
return 0;
} else if (o1 == null) {
return 1;
} else if (o2 == null) {
return -1;
} else if (o1 instanceof Comparable) {
return ((Comparable) o1).compareTo(o2);
} else {
return o1.toString().compareTo(o2.toString());
}
}
}
ohhh好吧,所以没有特殊的方式实施冒泡排序吧?只是implment泡沫排序通常是正确的? – 2011-04-12 22:15:04
是的。我会这样认为的。比较器仅适用于比较元素。它不会执行任何交换或分类。 – aioobe 2011-04-12 22:17:05