• Теория
  • Теория

Завершаем сортировку

Программа для сортировки массива из четырёх элементов готова. Да, она негибкая, и её придётся переписывать для массивов с другим количеством элементов. Но это нестрашно, ведь вы уже умеете делать рефакторинг.

В текущей реализации много повторяющегося кода, в котором меняется только значение переменной currentIndex. Как сделать структуру программы лучше?

Можно взять кусок кода с циклом, который ищет и подставляет на указанное место минимальное значение, и обернуть его в другой цикл. И в этом верхнем, «родительском», цикле наращивать переменную currentIndex.

Да. Циклы можно вкладывать друг в друга.

Учтите, что currentIndex должна изменяться не от нуля до длины массива, а от нуля до длины массива, уменьшенной на единицу. Вспомните прошлое задание, в котором мы завершили сортировку для массива, дойдя до предпоследнего элемента (ведь последний элемент автоматически оказался максимальным).

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

// Цикл до предпоследнего элемента
currentIndex <= usersByDay.length - 2

// Цикл до последнего элемента
j <= usersByDay.length - 1
Минимальный вид табов
  • index.html
HTML
HTML

Вы перешли на другую страницу

Кликните внутри мини-браузера, чтобы поставить фокус в это окно.

100%
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Массивы» тренажёра «Базовые структуры данных» можно после регистрации и оформления подписки.