使用泛型的冒泡排序Java代码:
public class SortUtils {
public static <T extends Comparable<? super T>> void bubbleSort(T[] nums) {
int size = nums.length;
for (int k = 0; k < size; k++) {
for (int i = 0; i + k + 1 < size; i++) {
if (nums[i].compareTo(nums[i + 1]) > 0) {
T t = nums[i];
nums[i] = nums[i + 1];
nums[i + 1] = t;
}
}
}
}
}
单元测试:
import org.junit.Test;
import static org.junit.Assert.assertArrayEquals;
import java.util.Arrays;
public class TestSortUtils {
@Test
public void testDouble() {
Double dnums1[] = { 3.1, 2.1, 4.2, 5.3 };
Double dnums2[] = { 3.1, 2.1, 4.2, 5.3 };
SortUtils.bubbleSort(dnums1);
Arrays.sort(dnums2);
assertArrayEquals(dnums1, dnums2);
}
@Test
public void testInt() {
Integer inums1[] = { 3, 5, 4, 2, 1, 7 };
Integer inums2[] = { 3, 5, 4, 2, 1, 7 };
SortUtils.bubbleSort(inums1);
Arrays.sort(inums2);
assertArrayEquals(inums1, inums2);
}
}
本文链接:http://bookshadow.com/weblog/2016/03/12/java-generics-bubble-sort/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。