Java 交替法
我有一个递归函数,它调用其中的一个方法。我希望能够在同一个测试方法中调用我的其他排序方法。我还有4种其他方法(Java 交替法,java,methods,Java,Methods,我有一个递归函数,它调用其中的一个方法。我希望能够在同一个测试方法中调用我的其他排序方法。我还有4种其他方法(mergeSort)。我如何循环方法调用,以便测试人员在一个方法(selectionSort)上运行所有排序测试(所有不同大小的数组),然后移动到下一个方法(mergeSort),并从size=100开始再次测试它,然后继续测试 public void testSorts(){ for(int size = 100; size<=100000; size = size*1
mergeSort
)。我如何循环方法调用,以便测试人员在一个方法(selectionSort
)上运行所有排序测试(所有不同大小的数组),然后移动到下一个方法(mergeSort
),并从size=100
开始再次测试它,然后继续测试
public void testSorts(){
for(int size = 100; size<=100000; size = size*10){
String[] data;
long start;
long time;
UI.println("\n\n======Selection Sort=======\n");
data = createArray(size);
//printData(data);
start = System.currentTimeMillis();
selectionSort(data);
// insertionSort(data);
// bubbleSort(data);
// mergeSort(data);
// quickSort(data);
// quickSort2(data);
time = System.currentTimeMillis() - start;
UI.printf("Number of items: %,d\n", data.length);
UI.printf("Sorted correcetly: %b\n", testSorted(data));
UI.printf("Time taken: %.2f s\n", time/1000.0);
UI.println("\n=======DONE=========\n");
}
}
public void testSorts(){
对于(int size=100;size创建一个接口SortingAlgorithm
,该接口将有一个排序(String[])
方法,并将由不同的类实现,每个类对应一个算法
现在,使用一个方法,该方法接受SortingAlgorithm
作为参数,并调用algorith.sort(data)
。
(例如,您可以使用public void testSorts(SortingAlgorithm algorithm)
方法调用单个算法,即作为参数传递的算法)
将调用相关算法。简而言之:使用策略模式
使用方法sort
创建界面Sorter
为每个排序方法创建类
创建Sorter[]
并在其中旋转。您熟悉接口吗?在我看来,它们是解决此问题的正确方法。接口或函数指针的选择是yours@Minion91Java没有函数指针。虽然AFAIK Java 8将有闭包。@S.L.Barth抱歉,为了我自己的智慧,我要快速