public class BubbleSort {
private Number source[];
public BubbleSort(Number source[]) {
this.source = source;
}
/**
* arithmetic
*
* @return
*/
public Number[] doSort() {
int length = source.length;
for (int i = length - 1; i > 1; i--) {
for (int j = 0; j < i; j++)
if (source[j].doubleValue() > source[j + 1].doubleValue()) {
Number tmp = source[j];
source[j] = source[j + 1];
source[j + 1] = tmp;
}
}
return source;
}
/**
* Display the result
*
* @param source
*/
public static void display(Number[] source) {
for (int i = 0; i < source.length; i++)
System.out.println("source[" + i + "] = " + source[i]);
}
public static void main(String[] args) {
Number[] source = { new Integer(4), new Double(2.56), new Float(9.11),
new Long(2), new Integer("2"), new Double(5.999999999) };
System.out.println("Before sorting:::");
BubbleSort.display(source);
BubbleSort bubble = new BubbleSort(source);
System.out.println("After sorting:::");
source = bubble.doSort();
BubbleSort.display(source);
}
}
本文介绍了一个使用Java实现的通用冒泡排序算法,该算法能够对包含多种数值类型的数组进行排序。通过实例演示了排序前后数组的变化,并展示了如何使用自定义的`display`方法来输出排序结果。
838

被折叠的 条评论
为什么被折叠?



