测试排序算法工具类

Posted wanghang-learning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试排序算法工具类相关的知识,希望对你有一定的参考价值。

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

一、随机数组生成类

    

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

 

以上是关于测试排序算法工具类的主要内容,如果未能解决你的问题,请参考以下文章

排序算法工具类

java中常用排序工具类, 使用的算法是什么?什么,怎么还有组合模式参与?

Java排序算法 - 堆排序的代码

elasticsearch代码片段,及工具类SearchEsUtil.java

排序算法04快速排序

算法学习选择排序