Loading

排序方法自动测试(只需一行代码)

上项目地址

https://gitee.com/yan-jiadou/study/tree/master/Java%E5%8A%A8%E6%89%8B%E5%81%9A%E4%B8%80%E5%81%9A/src/main/java/SortStudy
在这里插入图片描述
测试方法已经写了,采用的是自动测试,你只需调用即可,非常简单,这样我们的精力就可以放在SortCore的算法实现上了,这里的自动测试自带数据比对功能,用来测试你的排序方法实现的对不对,如果结果有问题,会返回false。

一.目的

有人说,排序方法我学了,但就是写不出来,就算写出来了,才发现根本用不上,因为写的太窄了,只能对数字进行排序。
我就是这样的人,最近复习算法知识的时候,我在想,能不能将自己学到的排序方法做出一个泛型排序合集工具,将各种排序合并起来,形成这样的一个工具方法:

/**
     * 排序方法调用
     * @param in
     * @param sortType maoPao--冒泡排序  insert--插入排序
     *                 shell--希尔排序   quick--快速排序
     *                 merge--归并排序   heap--堆排序
     *                 counting--计数排序
     * @return 返回排序后的结果
     */
    public static <T extends Comparable> Object[] Sort(T[] in,String sortType){
   
        if(sortType.equals("maoPao")){
   
            return SortCore.maoPaoSort(in);
        }
        if(sortType.equals("insert")){
   
            return SortCore.InsertionSort(in);
        }
        if(sortType.equals("shell")){
   
            return SortCore.ShellSort(in,in.length-1);
        }
        if(sortType.equals("quick")){
   
            return SortCore.quickSort(in,0,in.length-1);
        }
        if(sortType.equals("merge")){
   
            return SortCore.mergeSort(in,0,in.length-1);
        }
//        if(sortType.equals("heap")){
   
//            return new SortCore.Heap().Heapsort(null,in,in.length);
//        }

        return null;
    
posted @ 2021-12-25 14:02  文牧之  阅读(20)  评论(0)    收藏  举报  来源