Мне пришлось сгенерировать массив случайных чисел. Размер массива составляет от 5000 до 100000 с шагом каждый l oop в 1000, а затем сортирует массив. Цель состоит в том, чтобы зафиксировать время выполнения каждого шага в сортировке. Поэтому, когда размер массива равен 5000 time = "x". Затем мне нужно записать размер массива и время каждого l oop в файл. Моя проблема в том, что мой файл генерирует одну и ту же строку снова и снова. Очевидно, я знаю, что в какой-то момент совершил ошибку. Если бы вы могли представить новичку ie с кодированием, я был бы признателен.
//Copy array G into array A starting at n = 5000 and incrementing by 1000.
for (int n = 5000; n < size; n += 1000) {
int[] A = new int[n];
for (int i = 0; i < n; i++) {
A[i] = G[i];
}
//Sort array list and log time
long startTime = System.nanoTime();
for (int j = 1; j < n - 1; j++) {
for (int i = (j + 1); i < n; i++) {
if (A[i] < A[j]) {
buffer = A[j];
A[j] = A[i];
A[i] = buffer;
}
}
}
long endTime = System.nanoTime();
long totalTime = endTime - startTime;
timeArray[n] = totalTime;
nArray[n] = n;
//Capture file of logged times
String fileName = "output.csv";
try {
PrintWriter outFile = new PrintWriter(new File(fileName));
for (int i = 0; i < size; i++) {
outFile.println(n + "," + totalTime);
}
outFile.close();
System.out.println("Output file has been created: " + fileName);
}
catch (FileNotFoundException e) {
System.out.println("Error: could not open file " + fileName);
}
}