爲了方便測試排序算法,下面展現了一些工具類,在以後的寫的排序算法中會用到這些類。java
1、隨機數組生成類算法
package sort.util; import java.util.*; public class RandomArrayGenerator { private static int[] array; //校驗number是否在數組中 private static boolean isInArray(int number) { boolean isInArray = false; for(int a : array) { if(a == number) { isInArray = true; } } return isInArray; } //生成長度爲length、值域爲1 ~ maxElement的隨機數組 public static int[] getRandomArray(int maxElement , int length) { array = new int[length]; Random random = new Random(); int index = 0; while( index < length) { int randomNumber = random.nextInt(maxElement) + 1; //random.nextInt()返回0 ~ maxElement之間的數 if(!isInArray(randomNumber)) { //但不包括maxElement array[index] = randomNumber; index ++; } } return array; } }
2、打印數組類數組
package sort.util; public class DisplayArray { //顯示數組中的全部元素 public static void display(int[] array) { for(int a : array) { System.out.print(a + " "); } System.out.println(""); } }
3、排序類接口dom
package sort.util; public interface ISort { void sort(int[] array); }
4、測試類工具
package sort.util; public class SortTestHelper { //調用ISort接口的排序方法對array進行排序測試 public static void test(ISort iSort , int[] array) { System.out.print("排序前:"); DisplayArray.display(array); iSort.sort(array); System.out.print("排序後:"); DisplayArray.display(array); } }