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

上项目地址

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;
    

作者:small-water

出处:https://www.cnblogs.com/small-water/p/17870053.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   文牧之  阅读(10)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示