我需要给bubbleSort函数计时,如果达到某个时间限制,它就会停止。在java中如何做到这一点?
快多了! 例如:对于if块,时间是=我需要给bubbleSort函数计时,如果达到某个时间限制,它就会停止。在java中如何做到这一点?,java,bubble-sort,Java,Bubble Sort,快多了! 例如:对于if块,时间是=排序时间:0分钟0秒。81毫秒。 没有if块=排序时间:0分钟0秒。15毫秒。 如果限制为=4ms.,则函数将始终返回,而不运行其全部过程 为什么会这样?我还能做什么 注意:返回数组的第一个值用于检查排序是否完成。首先,为了优化性能,我们可以尝试移动比较 if ( System.currentTimeMillis() - startTime > limit * 10) { return new long[] {0L, System.cur
排序时间:0分钟0秒。81毫秒。
没有if块=排序时间:0分钟0秒。15毫秒。
如果限制为=4ms.,则函数将始终返回,而不运行其全部过程
为什么会这样?我还能做什么
注意:返回数组的第一个值用于检查排序是否完成。首先,为了优化性能,我们可以尝试移动比较
if ( System.currentTimeMillis() - startTime > limit * 10) {
return new long[] {0L, System.currentTimeMillis() - startTime};
}
从嵌套循环到外部循环。如果阵列的大小足够大,这将提供很多改进
更好的方法是使用计时器类或多线程,如以下文章所述:
谢谢!将比较移到外部循环解决了我的问题。
if ( System.currentTimeMillis() - startTime > limit * 10) {
return new long[] {0L, System.currentTimeMillis() - startTime};
}
if ( System.currentTimeMillis() - startTime > limit * 10) {
return new long[] {0L, System.currentTimeMillis() - startTime};
}