Дефрагментация памяти

  • 11
  • Недоступна
Рассмотрим аналог памяти компьютера на примере массива строк. Если удалить некоторые элементы, то в массиве появятся так называемые "дыры" - то есть элементы равные null. Метод executeDefragmentation(String[]), принимающий массив строк, выполняет его "дефрагментацию", то есть
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (19)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ivan
Уровень 11, Екатеринбург
8 сентября, 15:45
Возможно это кому-то поможет executeDefragmentation(String[] array) в массив array копируется ссылка массива String[] memory
Modano
Уровень 14, Россия
8 сентября, 08:41
Отличная задача. Мне как человеку плохо понявшему тему массивов очень понравилась. С удовольствием повторил разделы про массивы.
Elk Nest
Уровень 19
30 июля, 10:09
Можно кстати без временного массива) т.к. в первом вложенном цикле у нас j-й индекс - последний "не нулл" элемент (точнее первая нужная нам позиция null ов). получается в последнем цикле можно от j до длины массива присваивать null
R.I.N. Student в ---
23 июля, 05:11
Ну... через создания доп массива - это как-то слишком... --- Создаем переменную, хранящую индекс последнего правильно вхождения (индекс null минус адын) Что-то типа int filled_index = array[0] == null ? -1 : 0; // Для старта Далее делаем цикл-прогонку... если хранилище 0 - начинаем с 1, если -1 - начинаем с нуля Пихаем один ИФ с двумя простыми условиями И свап рода: в array[хранилище + 1] = array[i], array[i] = null Всё...
Sergey Kornilov
Уровень 16, Petropavlovsk, Казахстан
29 июня, 16:16
Не просто было. Всего эту задачу решили 1694 учеников.
Ivan
Уровень 11, Екатеринбург
8 сентября, 15:46
где это написано?
Sergey Kornilov
Уровень 16, Petropavlovsk, Казахстан
26 минут назад
Через плагин IntelJ Idea, и все задачи решаю в Idea. Статистика показывается после решения, учитываются все.
Anonymous #2553720
Уровень 16, Кокшетау, Казахстан
26 июня, 08:33
Решение автора конечно интересное, как нам ранее и говорили, а что если необходимо дефрагментировать массив из миллиона элементов или более, так же будем создавать массив tmp из миллиона элементов?
Михаил Иванов
Уровень 2, Санкт-Петербург
23 июня, 11:42
Согласен с предыдущим комментатором, задача выполнена, но не засчитывается.
Владимир Рекин
Уровень 36
17 мая, 13:43
Подсказка - сортировка пузырьком
Владислав
Уровень 18, Москва, Россия
14 мая, 13:20
Я решил задачу без создания в методе временного массива temp с целью не занимать по него доп. память на тот случай, если памяти окажется недостаточно. Но моё решение не засчитывается, хотя как мне кажется оно больше приближено к реальности.
Maks_Zzz
Уровень 32, Санкт-Петербург
16 апреля, 08:01
Не смотря на то, что решить задачу можно множеством способов, принимает не все решения. Подсказки: 1. Возвращать в main ничего не надо (на это указывает void). 2. Конечный массив должен называться array (тот который приняли). То есть, если создали список или массив каким-либо способом с нужным расположением элементов, то передали его в array. 3. Никакого сложного решения нет, все решается тривиальными циклами и условным оператором, но можно и другими способами.
Korban Dallas
Уровень 15
7 сентября, 10:02
это талант сказать так много не сказав ничего
Anonymous #2793749
Уровень 1, Russian Federation
17 сентября, 18:48
политики этим владеют в совершенстве (извиняюсь что не по теме)