测试排序算法工具类

为了方便测试排序算法,下面展示了一些工具类,在之后的写的排序算法中会用到这些类。

一、随机数组生成类

    

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;
    }
    
}

二、打印数组类

package sort.util;

public class DisplayArray {
    //显示数组中的所有元素
    public static void display(int[] array) {
        for(int a : array) {
            System.out.print(a + " ");
        }
        System.out.println("");
    }
}

 

 三、排序类接口

package sort.util;

public interface ISort {
    
    void sort(int[] array);
}

四、测试类

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);
    }
}

 

posted @ 2018-05-27 13:42  随性如风  阅读(685)  评论(0编辑  收藏  举报