Урок 7

Задания


  1. Создать двумерный массив типа char размером 4х2. И записать туда значения с помощью блока для инициализации. Распечатать значения массива с помощью метода Arrays.deepToString(m). (Задание с урока).
  2. Добавить в программу ArrayInverterTest2 еще один тестовый массив. Делаем дебаг и смотрим как работает. (Задание с урока).
  3. Создать табличку для любого массива, в котором последовательно прописать значения i, j, массива для  каждого цикла алгоритма сортировки пузырька. Используйте debugger. Например для массива 0 2 5 3 4:
    i j Значение массива Выполнился ли блок if?
    0 4  0 2 5 3 4 -
    0 3  0 2 3 5 4 +
    0 2  0 2 3 5 4 -
    0 1  0 2 3 5 4 -
    1 4  0 2 3 4 5 +
    1 3  0 2 3 4 5 -
    1 2  0 2 3 4 5 -
    2 4  0 2 3 4 5 -
    2 3  0 2 3 4 5 -
    3 4  0 2 3 4 5 -
    4 -  0 2 3 4 5 -
  4. Изменить программу сортировки пузырьком: 
    а) добавить возможность досрочного окончания сортировки; 
    б) программа написана таким образом, что минимальный элемент "всплывает" в начало массива. Измените программу так чтобы минимальный элемент "всплывал" в конец массива (внутренний цикл for должен перебирать элементы не с конца, а с начала).
    public class BubbleSorter {
        public static void sort(int[] array) {
            for (int i = 0; i < array.length; i++) {            
                for (int j = array.length - 1; j > i; j--) {     
                    if (array[j - 1] > array[j]) {
                        int tmp = array[j - 1];
                        array[j - 1] = array[j];
                        array[j] = tmp;
                    }
                }
            }
        }
    }
  5. Создать двухмерный массив 5х8 и инициализировать его с помощью блока для инициализации. Найти максимальное и минимальное значение в каждой "строке" и записать эти значения в двухмерный массив 5х2. Распечатать оба массива.
  6. Реализовать задачу с гирляндой используя массивы. Для реализации бегущей строки используйте метод System.arraycopy(...);
  7. Сделать задание 3 для алгоритма сортировки выбора.
  8. Изменить сортировку выбором - исключите обмен значений, если найденный минимальный элемент равен array[i].
    public class SelectionSorter {
        public static void sort(int[] array) {
            for (int i = 0; i < array.length; i++) {    // i - номер текущего шага
                int k = i;
                int x = array[i];
                for (int j = i + 1; j < array.length; j++) {    // цикл выбора наименьшего элемента
                    if (array[j] < x) {
                        k = j;    // k - индекс наименьшего элемента
                        x = array[j];
                    }
                }
                array[k] = array[i];
                array[i] = x;    // меняем местами наименьший с array[i]
            }
        }
    }​
  9. Добавить задания за предыдущие уроки на GitHub в репозиторий.
  10. GitHub - добавить меня (milkina) в качестве Collaborator в свой репозиторий.


0 comments
Leave your comment: