微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

整数数组集合的基准排序算法

如何解决整数数组集合的基准排序算法

我正在对一组数组上的一些流行排序算法进行非常基本的基准测试。我想将它们存储在一个列表中(也许是个坏主意)并返回使用纳秒差异对数组进行排序所需的时间。我快到了,但我知道我正在返回迭代器每次迭代的累积总时间,而不仅仅是最后的总时间。我确实得到了最后的总时间,但我有点困惑如何只获得总时间输出

public static void main(String[] args) {
    makeArray(100,50);  //make 100 arrays at size 50
    System.out.println();
        BubbleSort bs = new BubbleSort();    //Create bs obj
    for (Iterator<int[]> iterator = listofArrays.iterator(); iterator.hasNext();) {
        int[] isSort = (int[]) iterator.next();
        double time =(bs.benchmark(isSort));  //pass iterators arrays to benchmark method
        System.out.println("Total time: " + time);
    }//rof
}//main

在我的 runner 类 main 方法中,我创建了一些数组,将它们添加到静态 ArrayList(可能也是一个坏主意)并通过迭代器将它们传递给我下面的基准测试方法,然后依次对数组进行排序。

public double benchmark(int[] toSort){
    double startTime = System.nanoTime();
    bubble(toSort);
    double endTime = System.nanoTime();
    double timeElapsed = endTime - startTime ;
    double elapsedMillis = timeElapsed/1000000;
    total+=elapsedMillis;  //total is a static class variable but this isnt viable longterm imo
    return total;  //this is returned after each array in the collection is sorted obvIoUsly
}//benchmark

我理解它有点乱,它只是一个粗略的初稿,但我只是需要朝着正确的方向努力。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。