Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: binary search, array insertion, sorted array, algorithm

Как вставить элемент в отсортированный массив с сохранением порядка?

Проверяет понимание алгоритмов вставки в отсортированный массив с сохранением порядка элементов.

Короткий ответ

Чтобы вставить элемент в отсортированный массив с сохранением порядка, нужно найти правильную позицию для вставки. Для этого можно использовать линейный поиск (проход по массиву) или бинарный поиск (более эффективный). После нахождения позиции элемент вставляется со сдвигом остальных элементов вправо. В JavaScript это можно сделать с помощью splice после определения индекса.

Длинный ответ

Основная идея

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

Поиск позиции

Самый простой способ — линейный поиск: проходим по массиву и сравниваем каждый элемент с вставляемым. Как только находим элемент, который больше или равен вставляемому, это и есть нужная позиция. Для больших массивов эффективнее использовать бинарный поиск, так как он работает за O(log n) вместо O(n).

Пример на JavaScript

function insertSorted(arr, element) {
  // Бинарный поиск позиции
  let left = 0;
  let right = arr.length;
  while (left < right) {
    const mid = Math.floor((left + right) / 2);
    if (arr[mid] < element) {
      left = mid + 1;
    } else {
      right = mid;
    }
  }
  // Вставка на найденную позицию
  arr.splice(left, 0, element);
  return arr;
}

const sorted = [1, 3, 5, 7];
insertSorted(sorted, 4); // [1, 3, 4, 5, 7]

Применение

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

Вывод

Вставка с сохранением порядка — базовая операция, которая полезна при работе с отсортированными данными. Для небольших массивов можно использовать линейный поиск, для больших — бинарный, чтобы ускорить процесс.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#binary search

#array insertion

#sorted array

#algorithm

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.