public static void main(String[] args){
int[] nums;
int n = 1000000;
int m = 1000;
List<Long> results = new ArrayList<Long>();
Instant before, after;
long delta;
// for(int i = 0; i < 5; i++){
// nums = IntStream.rangeClosed(1, n).toArray();
// shuffle(nums);
// before = Instant.now();
// findKthSmallest(nums, m);
// quickSort(nums,0 , m-1);
// after = Instant.now();
// delta = Duration.between(before, after).toMillis();
// System.out.println(delta);
// }
nums = IntStream.rangeClosed(1, n).toArray();
shuffle(nums);
before = Instant.now();
findKthSmallest(nums, m);
quickSort(nums,0 , m-1);
after = Instant.now();
delta = Duration.between(before, after).toMillis();
System.out.println(delta);
}
В основном методе я пытался распечатать дельту 5 раз. Когда я сделал это внутри l oop (закомментированный блок), дельта со временем уменьшилась, что странно. Когда я сделал это за пределами l oop (запустил код 5 раз), дельты выглядели согласованными. Почему это происходит и как я могу это исправить? Спасибо.