У меня есть различные методы сортировки, которые сортируют один и тот же массив из 100 000 случайных чисел.
Я использую следующий метод, чтобы найти время выполнения каждого
long insertionStart = System.currentTimeMillis();
arr.Clone(iniArr);
arr.insertionSort();
long insertionFinal = System.currentTimeMillis() - insertionStart;
и следующее для случайного числа arrary
int maxSize = 100000; // array size
Sortarr arr, iniArr; // reference to array
arr = new Sortarr(maxSize); // create the array
iniArr = new Sortarr(maxSize);
// insert random numbers
Random generator = new Random();
for (int i = 0; i < maxSize; i++) iniArr.insert(generator.nextInt());
Как я могу изменить это так, чтобы каждый из них мог отсортировать 100 массивов, а не только один, и считать время каждого массива? Например. Run1 - 23 мс; Run2 - 25мс; ... Run100 - 22мс
EDIT:
У меня есть одна последняя вещь, которую нужно сделать.
Таким образом, каждая итерация сортирует массив несколькими способами, например, вставкой, слиянием и быстрой сортировкой.
Скажем, вставка = 300 мс, объединение = 200 мс и быстрое = 100 мс. Мне нужно для каждой итерации найти, какой метод отсортирован быстрее всего.
Я знаю, что это простая вещь типа min / max, которую вы делаете тысячу раз в низших классах программирования.
Будет ли проще бросить каждое значение в массив и использовать вызов array.min? (Что бы это ни было на самом деле, новшество в синтаксисе Java ..)