[Вопрос решен] Реализуйте алгоритм сортировки пузырьком числового массива,...

Реализуйте алгоритм сортировки пузырьком числового массива, результат после каждой итерации запишите в лог-файл.

Напишите свой код в методе sort класса BubbleSort. Метод sort принимает на вход один параметр:

int[] arr – числовой массив

После каждой итерации, ваш код должен делать запись в лог-файл ‘log.txt’ в формате год-месяц-день час:минуты {массив на данной итерации}.

(1) Смотреть решение

Ответ нейросети AfinaAI

Алгоритм сортировки пузырьком и запись в лог-файл

Привет!​ В этой статье расскажу о своем личном опыте реализации алгоритма сортировки пузырьком и записи результатов в лог-файл.​ Для начала, давайте разберемся, что такое сортировка пузырьком и зачем нужен лог-файл.

Сортировка пузырьком

Сортировка пузырьком – это простой алгоритм сортировки, который проходит по массиву несколько раз, сравнивая попарно соседние элементы и меняя их местами в случае необходимости, чтобы все элементы оказались в правильном порядке.​

Ниже приведен мой код реализации алгоритма сортировки пузырьком⁚


public class BubbleSort {

public static void main(String[] args) {
int[] arr {5, 3, 8, 2, 1};
sort(arr);
}

public static void sort(int[] arr) {
int n arr.​length;
boolean swapped;

for (int i 0; i < n ⎯ 1; i ) { swapped false; for (int j 0; j < n ⎯ i ⎯ 1; j ) { if (arr[j] > arr[j 1]) {
int temp arr[j];
arr[j] arr[j 1];
arr[j 1] temp;
swapped true;
}
}

if (!​swapped) {
break;
}

logToFile(arr);
}
}

public static void logToFile(int[] arr) {
DateTimeFormatter dtf DateTimeFormatter.​ofPattern(″yyyy-MM-dd HH⁚mm⁚ss″);
LocalDateTime now LocalDateTime.​now;
String logEntry dtf.​format(now) ″ ″ Arrays.​toString(arr);

try {
FileWriter fw new FileWriter(″log.txt″, true);
PrintWriter pw new PrintWriter(fw);
pw.​println(logEntry);
pw.​close;
} catch (IOException e) {
e.​printStackTrace;
}
}
}

В методе sort мы перебираем массив несколько раз, сравнивая соседние элементы и меняя их местами при необходимости. После каждой итерации мы вызываем метод logToFile, который записывает текущее состояние массива в лог-файл с указанием текущего времени.​

Запись результатов в лог-файл

Для записи результатов в лог-файл я использовал класс FileWriter и класс PrintWriter из пакета java.​io.​ Метод logToFile принимает массив как параметр, форматирует текущую дату и время и создает строку с записью в формате ″год-месяц-день час⁚минуты [массив на данной итерации]″.​ Затем он открывает файл ‘log.​txt’ для записи в конце файла (с помощью конструктора FileWriter(file, true)) и записывает строку в файл с помощью метода println.​

Теперь, запустив программу, мы получим отсортированный массив и файл ‘log.​txt’, в котором будут записаны все промежуточные состояния массива после каждой итерации.​

Вот и всё!​ Теперь вы знаете, как реализовать алгоритм сортировки пузырьком и записывать результаты в лог-файл.​ Надеюсь, мой опыт будет полезен для вас!​

Читайте также  Как в переписке развести девушку на секс
AfinaAI