排序方法自动测试(只需一行代码)
上项目地址
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 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)