1. 产生一个随机长度的数组,数组里都赋值成随机数。
public static int[] generateRandomArray(int maxSize,int maxValue){ int length = (int)((maxSize+1)*Math.random());//随机长度 int[] arr = new int[length]; for(int i=0;i<arr.length;i++){ int value = (int)((maxValue+1)*Math.random()) - (int)(maxValue*Math.random()); //这个公式可以让数组里赋值成不同的值 } return arr; }
2. 两个方法同时对该数组进行操作,最后比较结果是否相同
public static void main(String[] args) { int testTime = 500000; //测试次数 int maxSize = 100; //数组最大长度 int maxValue = 100; boolean succeed = true; for(int i=0;i<testTime;i++){ int[] arr1 = generateRandomArray(maxSize,maxValue); int[] arr2 = copyArray(arr1); insertionSort(arr1); //自己写的算法 comparator(arr2); //系统自带或者容易实现的算法 if(!isEqual(arr1,arr2)){ succeed = false; break; } } ...// 一些处理 }