diff --git a/L06-if_loops_arrays/src/ru/otus/java/homework/HomeworkTemplate.java b/L06-if_loops_arrays/src/ru/otus/java/homework/HomeworkTemplate.java deleted file mode 100644 index 030bfc9..0000000 --- a/L06-if_loops_arrays/src/ru/otus/java/homework/HomeworkTemplate.java +++ /dev/null @@ -1,46 +0,0 @@ -package ru.otus.java.homework; - -import java.util.Scanner; - -/** - * Заготовка для выполнения ДЗ "Система тестирования". - */ -public class HomeworkTemplate { - public static void main(String[] args) { - // Переменные для хранения количества правильных и неправильных ответов - int correctCount = 0, wrongCount = 0; - - // Ниже вместо null надо написать реализацию, - // написано так, чтобы просто компилировалось - - // TODO: Массив вопросов (вместо null надо написать определение массива) - String[] questions = null; - - // TODO: Массив вариантов ответов - String[][] answerOptions = null; - - // TODO: Массив правильных ответов - int[] correctAnswers = null; - - // Примечание - можете придумать как хранить всю информацию в одном массиве - - Scanner scanner = new Scanner(System.in); - // TODO: Цикл по всем вопросам - исправить, написать правильно - for(int i = 0; i < 0; i++) { - // TODO: Вывод вопроса на экран - - // TODO: Вывод вариантов ответов на экран - - System.out.print("Ваш ответ: "); - //TODO: Считываем с консоли ответ пользователя - - //TODO: Проверяем ответ и выводим результат - // а также увеличиваем счетчики правильных и неправильных ответов - - System.out.println(); - } - - //Выводим общий результат - System.out.println("Результат: правильно " + correctCount + ", неправильно " + wrongCount); - } -} diff --git a/L06-if_loops_arrays/src/ru/otus/java/homework/SortingArray.java b/L06-if_loops_arrays/src/ru/otus/java/homework/SortingArray.java new file mode 100644 index 0000000..7c7946b --- /dev/null +++ b/L06-if_loops_arrays/src/ru/otus/java/homework/SortingArray.java @@ -0,0 +1,58 @@ +package ru.otus.java.homework; + +import java.util.Arrays; +import java.util.Collections; +import java.util.Random; + +public class SortingArray { + public static void main(String[] args) { + //тут генерируем массив чисел + int[] array = generateRandomArray(100_000); + + //копируем этот массив для сортировки пузырьковым методом + int[] bubleSortArray = Arrays.copyOf(array, array.length); + + // используем collection.sort() для сортировки, замеряем время + long startTime = System.currentTimeMillis(); + Arrays.sort(array); + long endTime = System.currentTimeMillis(); + long collectionSortTime = endTime - startTime; + + // тоже самое пузырьком + startTime = System.currentTimeMillis(); + bubleSort(bubleSortArray); + endTime = System.currentTimeMillis(); + long bubleSortTime = endTime - startTime; + + System.out.println("Время сортировки с помощью collection.Sort(): " + collectionSortTime + " мс"); + System.out.println("Время сортировки пузырьковым методом: " + bubleSortTime + " мс"); + } + + private static int[] generateRandomArray(int size) { + int[] array = new int[size]; + Random random = new Random(); + for (int i = 0; i < size; i++) { + array[i] = random.nextInt(); + } + return array; + } + + public static void bubleSort(int[] array) { + int n = array.length; + boolean swapped; + for (int i = 0; i < n - 1; i++) { + swapped = false; + for (int j = 0; j < n - 1; j++) { + if (array[j] > array[j + 1]) { + int temp = array[j]; + array[j] = array[j + 1]; + array[j + 1] = temp; + swapped = true; + } + } + if (!swapped) { + break; + } + } + } +} \ No newline at end of file