Java 内部排序算法性能测试
内部排序算法性能测试
package sort; public class SortTest { public static void main(String[] args) { //baseTest(); batchSortTest(); } private static void baseTest() { int[] baseTemp = {4, 2, 6, 1, 8, 5}; //冒泡排序调试测试 //BubbleSortDebugTest(baseTemp); //选择排序调试测试 SelectSortDebugTest(baseTemp); } /** * 批量排序测试 */ private static void batchSortTest() { int[] sortDataTotal1 = {100, 1000, 5000, 10000}; int[] sortDataTotal02 = {100, 1000, 5000, 10000, 50000}; int[] sortDataTotal03 = {100, 1000, 5000, 10000, 50000, 100000, 150000, 2000000}; for (int item : sortDataTotal02) { singleSortTest(item); System.out.println(); } } /** * 某个量级排序测试 * @param total */ public static void singleSortTest(int total) { long start = System.currentTimeMillis(); int[] array = new int[total]; for (int i = 0; i < total; i++) { // 乘100是为了使随机数充分的散开 array[i] = (int) (Math.random() * total + 100); } long end = System.currentTimeMillis(); System.out.print(total + " Add Time : " + (end - start)); System.out.println(); // 冒泡排序测试 BubbleSortTest(array); // 冒泡排序测试 SelectSortTest(array); } /** * 冒泡排序测试 * @param array */ public static void BubbleSortTest(int[] array) { long start = System.currentTimeMillis(); BubbleSort.sortAsc(array); long end = System.currentTimeMillis(); System.out.print("Bubble Sort Time : " + (end - start)); System.out.println(); } /** * 冒泡排序测试 * @param array */ public static void BubbleSortDebugTest(int[] array) { long start = System.currentTimeMillis(); BubbleSort.sortAscDebug(array); long end = System.currentTimeMillis(); System.out.print("Bubble Sort Time : " + (end - start)); } /** * 冒泡排序测试 * @param array */ public static void SelectSortTest(int[] array) { long start = System.currentTimeMillis(); SelectSort.sortAsc(array); long end = System.currentTimeMillis(); System.out.print("Select Sort Time : " + (end - start)); System.out.println(); } /** * 冒泡排序测试 * @param array */ public static void SelectSortDebugTest(int[] array) { long start = System.currentTimeMillis(); SelectSort.sortAscDebug(array); long end = System.currentTimeMillis(); System.out.print("Select Sort Time : " + (end - start)); } }
使用的工具类:
package util; public class BaseUtil { public static void arrayIntPrint(int[] array){ for(int item : array){ System.out.print(item + " "); } System.out.println(); } }