排序方法自动测试(只需一行代码)
上项目地址
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;

浙公网安备 33010602011771号