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);
}
}