计算排序方法中的交换

时间:2013-03-30 23:20:34

标签: java compare counter

所以我有这个任务,我必须比较一堆排序方法,并计算每个算法执行的比较次数和副本数量。我已经创建了我的排序方法,但之前从未做过计数器。我的问题是我如何申报一个计数器?我会在一个代码中放一个?

抱歉完全忘了,现在有点不知所措。我正在使用java。

我知道在交换或比较之前我会像计数器++那样放置我只是在语法上有点丢失

2 个答案:

答案 0 :(得分:0)

将您的排序算法保存在一个独立的类中,与主应用程序分开。您的计数器可以是该类的字段变量。这样,您就可以运行排序,并通过检索您收集的指标来跟进。

MySortAlgorithms sorter=new MySortAlgorithms();
ArrayList example=sorter.quickSort(ArrayList arr);
System.out.println("Swaps=" + sorter.getSwapCount());

答案 1 :(得分:0)

计数器可以是类中的简单静态变量。不是吗?只需在每次交换时添加即可。

Class ObjectToBeSorted{
   static int numberOfSwaps;

   public static increment swap(){
     numberOfSwaps++
   }

   public static clearSwaps (){

      numberOfSwaps = 0;
   }


}