为了方便测试排序算法,下面展现了一些工具类,在以后的写的排序算法中会用到这些类。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); } }